EMZETT.
Login

AOT-Kompilierung

Kurz: AOT („Ahead of Time”) übersetzt ein Programm schon vor dem Start in Maschinencode, statt es zur Laufzeit zu interpretieren oder per JIT zu übersetzen.

Genauer: C, C++, Rust und Go arbeiten klassisch so. Auch Sprachen mit virtueller Maschine bieten AOT, etwa GraalVM Native Image für Java oder .NET Native AOT.

Im Detail

  • Vorteile: Schneller Start, kein Aufwärmen, oft weniger Speicher, einfache Auslieferung ohne Laufzeitumgebung.
  • Nachteile: Spitzenleistung kann unter einem JIT liegen, der echte Laufzeitdaten nutzt. Dynamische Funktionen wie Reflection brauchen vorab Konfiguration.
  • Einsatz: Serverlose Funktionen und Container, bei denen der Kaltstart zählt, sowie Kommandozeilenwerkzeuge.
  • Mischformen: Profilgeführte Optimierung (PGO) füttert den AOT-Compiler mit Messdaten eines Probelaufs. Angular und Dart nutzen AOT für schnelle Web-Apps.
  • Plattformbindung: Das Ergebnis läuft nur auf der Zielarchitektur.

Siehe auch: Zwischendarstellung und Compiler-Optimierung