stem/CS/Compilers.md
Andy Pack 5f04cacd81 vault backup: 2023-12-27 09:30:39
Affected files:
.obsidian/workspace.json
Projects/Dev Options.md
Projects/Mixonomer.md
Projects/NoteCrawler.md
Projects/Selector.md
Projects/To Do App.md
STEM/CS/ABI.md
STEM/CS/Calling Conventions.md
STEM/CS/Code Types.md
STEM/CS/Compilers.md
STEM/CS/ISA.md
STEM/CS/Language Binding.md
STEM/CS/Languages/Assembly.md
STEM/CS/Languages/C++.md
STEM/CS/Languages/Javascript.md
STEM/CS/Languages/Python.md
STEM/CS/Languages/Rust.md
STEM/CS/Languages/dotNet.md
STEM/IOT/OS/Composition.md
2023-12-27 09:30:39 +00:00

847 B

tags
dev

JIT

Just-in-Time

  • Compilation during execution
    • At run time
  • Bytecode translation to machine code for execution
  • Combination of AOT compilation and interpretation
    • Speed of compiled code
    • Flexibility of interpretation
    • Overhead of an interpreter
    • Overhead of compiling
      • As well as interpreting
  • Dynamic compilation
  • Adaptive optimization
    • Dynamic recompilation
    • Microarchitecture-specific speedups

AOT

Ahead-of-Time

  • Compile higher-level language or intermediate representation to machine code
    • Runs natively
  • Machine-optimized code

GCC

  • Standard compiler for GNU projects and Linux
  • Parse source code to produce abstract syntax tree

LLVM

  • Compiler infrastructure
  • Develop language front ends for ISAs
  • Apple sponsored