## 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