Just-in-time-Kompilierung

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

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 in diesem Kontext „termingerecht“ analog zur Just-in-time-Produktion.

[Bearbeiten] 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“.

[Bearbeiten] 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).

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Mitmachen
Drucken/exportieren
Werkzeuge
In anderen Sprachen