Hauptmenü öffnen

Ein Ahead-of-time-Compiler (AOT-Compiler) ist ein Compiler, der im Gegensatz zu Just-in-time-Compilern (JIT-Compiler) Programmcode (lange) vor der Ausführung (und unabhängig von ihr) in native Maschinensprache übersetzt. Dies hat den Vorteil, dass dieser Code zur Laufzeit wesentlich schneller ausgeführt wird (d. h. die Initialisierungszeit ist kürzer) als auf einem JIT-Compiler, da die Übersetzung bereits durchgeführt wurde. Außerdem sind zeitlich aufwendigere Optimierungen des Maschinencode möglich.

Der Nachteil an AOT-Compilern ist aber, dass dieser Code nicht mehr plattformunabhängig ist, wie es bei JIT-Compilern der Fall ist. AOT-Compiler sind herkömmliche Compiler, wie sie schon von C eingesetzt wurden. Aber auch für Sprachen, die normalerweise mit JIT-Compilern arbeiten (z. B. Java), sind AOT-Compiler verfügbar.

JavaBearbeiten

Mit JEP 295 („JDK Enhancement Proposal“, Erweiterungsvorschläge für das Java Development Kit) soll die optionale AOT-Kompilierung mit Java 9 zunächst für eingeschränkte Teile der Java-Plattform eingeführt werden.

Siehe auchBearbeiten