AOT Compilation Case Studies: Summary for MEP-42
Cross-cutting patterns from twelve production AOT pipelines, with a recommendation for which one Mochi should learn from most.
14 notes
Cross-cutting patterns from twelve production AOT pipelines, with a recommendation for which one Mochi should learn from most.
Meta's typed Python subset that can be AOT-aware, the Cinder JIT, and CPython 3.13+'s experimental copy-and-patch JIT.
Apple's Swift in two modes: full LLVM-driven AOT for app platforms, and a stripped Embedded Swift mode for microcontrollers and freestanding binaries.
The Glasgow Haskell Compiler's native code generator: hand-written, x86_64 / aarch64 / risc-v, alongside an LLVM alternative.
Python-syntax systems language built on MLIR, with both AOT and JIT pipelines, on the path to 1.0 in H1 2026.
JIT-first scientific language adding a real AOT path via juliac and a trimming-based static binary mechanism.
Statically-typed Go-influenced language that defaults to emitting C, with experimental native and LLVM backends and a multi-mode memory model.
Tiny systems language built on QBE, deliberately constrained, BSD/Linux-only, manual memory.
Static, GC-by-default systems language that emits C (or C++, JavaScript, LLVM) and inherits the host toolchain's optimiser.
Ruby-syntax statically-typed language with global type inference, LLVM backend, and Boehm GC.
Systems language rebuilding its compiler around its own native backends, with LLVM demoted to an optional path.
Microsoft's production successor to CoreRT: trimmed CoreCLR plus RyuJIT-as-AOT, shipping single-file native binaries.
Closed-world AOT compilation that turns a managed JVM application into a self-contained native executable.
GraalVM Native Image, .NET NativeAOT, Zig self-hosted, Crystal, Nim, Hare, V, Julia juliac, Mojo, GHC NCG, Embedded Swift, Static Python / CPython 3.13 JIT.