Clever Geek Handbook
📜 ⬆️ ⬇️

AOT compilation

Ahead-of-Time (AOT) compiler is a type of compiler that uses the compilation method before execution ( born ahead-of-time compilation ). It is used both for compiling high-level languages ​​(for example, C , C ++ or Pascal ), and for compiling "intermediate" languages, such as Java bytecode , .NET Common Intermediate Language (CIL) , IBM System / 38, IBM System i.

Many implementations of programming languages ​​use JIT compilation , which allows you to compile intermediate code directly into binary during execution, which can significantly increase the speed of execution. JIT requires additional memory allocation.

The AOT method does not require additional memory and AOT compilation takes place with minimal load on the system. The compilation process is completely performed before the program runs.

AOT Compiler Examples

  • Ngen for .NET (Windows)
  • Mono AOT for .NET (AMD64, ARM [1] )
  • Excelsior JET for Java (Java SE 7 and Windows / linux on x86 / amd64 [2] )
  • ART for Android
  • asm.js for JavaScript

Notes

  1. ↑ AOT - Mono
  2. ↑ Replenishment at the Eclipse Foundation // Open Systems, No. 06, 2008 “Excelsior Jet is an implementation of the Java Standard Edition 6 platform based on technology for compiling Java applications“ ahead of time (AOT) ... the output is the usual application with optimized x86 code. ”

Literature

  • Trustworthy Compilers , Vladimir O. Safonov, Chapter 8.6 “AOT Compilation”
Source - https://ru.wikipedia.org/w/index.php?title=AOT-compilation&oldid=88020277


More articles:

  • Romanova, Vera Konstantinovna
  • Hunt Richard
  • Apistogramma nijsseni
  • Death Penalty in Judaism
  • Muneira
  • Saint Peter (battleship, 1720)
  • Jackhammer
  • Tsyrkun, Nina Aleksandrovna
  • Radu, Stefan
  • Armenian-Kypchak language

All articles

Clever Geek | 2019