2023-05-20 01:33:56 +01:00
|
|
|
## 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
|
2023-05-22 17:32:00 +01:00
|
|
|
- Microarchitecture-specific speedups
|
|
|
|
- [[ISA]]
|
2023-05-20 01:33:56 +01:00
|
|
|
|
|
|
|
## 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
|