- Just-in-time-Kompilierung
-
Just-in-time-Kompilierung (JIT-Kompilierung) ist eine Technik aus der Praktischen Informatik, um Software zur Laufzeit in Maschinen-Code zu übersetzen. Just in time bedeutet „gerade rechtzeitig“.
Funktionsweise
Im Gegensatz zu einem herkömmlichen Compiler übersetzt ein JIT-Compiler erst während der Laufzeit und bei Bedarf den vorliegenden Code in einen nativen Maschinen-Code (also einen Code, den der Prozessor direkt verarbeiten kann). Anschließend wird der Maschinen-Code ausgeführt, was zu einer deutlichen Performancesteigerung gegenüber Interpretern führt. Bei der Kompilierung werden üblicherweise Codeblöcke gesamthaft kompiliert, was gegenüber dem zeilenweisen Abarbeiten des Interpreters einen weiteren Geschwindigkeitsvorteil darstellt.
Hochentwickelte JIT-Compiler können speziell für dynamische Sprachen schnelleren Code als herkömmliche Compiler generieren, da sie Closed-World-Annahmen treffen können und Dynamische Optimierungen durchführen.
Im Gegensatz zum Just-in-time-Compiler werden herkömmliche Compiler auch als „Ahead-of-time-Compiler“ (AOT-Compiler) bezeichnet, weil sie den Programm-Code vor Ausführung des Programms übersetzen. Ahead of time bedeutet „vorzeitig“.
Beispiele
Typische Beispiele findet man bei Java, .NET, Perl 6, JRuby, PyPy sowie in kommerziellen Smalltalk-Versionen. Auch verwenden aktuelle Webbrowser für Desktopbetriebssysteme einen JIT um die Ausführung von JavaScript zu beschleunigen. Der Just-in-time-Compiler (JIT-Compiler) ist (neben dem Interpreter) ein Teil einer modernen virtuellen Maschine (z. B. JVM bei Java oder CLR bei .NET).
Wikimedia Foundation.