AOT-Compiler
aus Wikipedia, der freien Enzyklopädie
Ein AOT-Compiler ("Ahead-of-Time-Compiler") ist ein Compiler, der im Gegensatz zu JIT-Compilern ("Just-In-Time-Compiler") Programmcode vor der Ausführung in native Maschinensprache übersetzt. Dies hat den Vorteil, dass dieser Code zur Laufzeit wesentlich schneller ausgeführt wird als auf einem JIT-Compiler, da die Übersetzung bereits durchgeführt wurde.
Der Nachteil an AOT-Compilern ist aber, dass dieser Code nicht mehr plattformunabhänig ist, wie es bei JIT-Compilern der Fall ist. AOT-Compiler sind die herkömmlichen 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.
[Bearbeiten] Parrot
Die Virtuelle Maschine von Perl6, Parrot bietet ähnliches: Bytecode kann mittels einer Auswahl von verschiedenen Verfahren direkt interpretiert werden oder er kann "Just in Time"-Kompiliert werden - jedoch erfolgt die Übersetzung nicht während der Ausführung des Bytecodes sondern unmittelbar davor, d.h. eigentlich liegt hier eine AOT-Übersetzung vor, jedoch nur temporär im Speicher von Parrot.
Es ist jedoch auch vorgesehen, dass das AOT-Kompilat jedoch auch herkömmlich als Objektdatei gespeichert und zusammen mit den Parrot-Libraries zu einem ausführbaren Programm gelinkt werden kann.