penberg / hornet

Hornet, a JVM optimized for low-latency applications.
Other
53 stars 5 forks source link

Ahead-of-time compilation #6

Open penberg opened 11 years ago

penberg commented 11 years ago

Motivation

JIT compilation is a source of latency jitter that applications in low latency environments can control only by "warmup phase" that is inconvenient and error-prone. AOT compilation is a natural solution to the problem for applications that don't use dynamic JVM features such as reflection. AOT is also necessary if the hardware or software has restrictions that don't allow executing JIT'd code like in the iPhone and XBox 360.

Implementations

Mono virtual machine for .NET supports ahead-of-time compilation.

GCJ is a portable, optimizing, ahead-of-time compiler for the Java Programming Language. It can compile Java source code to Java bytecode (class files) or directly to native machine code, and Java bytecode to native machine code.