Just-In-Time Compilation
JIT kompiliert heißen Code zur Laufzeit in Maschinencode und vereint die Flexibilität eines Interpreters mit der Leistung eines Compilers.
Zweck
Die interpretierte Ausführung zur Laufzeit optimieren und Hotspots adaptiv optimieren.
Mechanismus
Zuerst wird interpretiert, während Profiling-Daten gesammelt werden. Heiße Methoden/Loops lösen die JIT-Kompilierung zu Maschinencode aus. V8 TurboFan, PyPy und die HotSpot-JVM nutzen JIT. Bei gebrochenen Annahmen fällt Deoptimisierung auf den Interpreter zurück.
Anwendungsfälle
- Sprach-Runtimes
- Performance-Optimierung
- Adaptive Kompilierung