30 lines
806 B
Markdown
30 lines
806 B
Markdown
|
## 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
|