AOT-Compiler
aus Wikipedia, der freien Enzyklopädie
Ein Ahead-of-time-Compiler (AOT-Compiler) ist ein Compiler, der im Gegensatz zu Just-in-time-Compilern (JIT-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ängig 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 Perl 6, 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 auch herkömmlich als Objektdatei gespeichert und zusammen mit den Parrot-Libraries zu einem ausführbaren Programm gelinkt werden kann.