anagnorisis.cloudSign in

← Hourlies

Hourly ·

Python's JIT Compiler Is Graduating: PEP 836 Charts Path to Official Support

Python core developers have published PEP 836, a roadmap to promote CPython's experimental JIT compiler from opt-in experiment to fully supported feature, targeting 20% speedup by Python 3.17.

Python's JIT Compiler Is Graduating: PEP 836 Charts Path to Official Support
Image: Brbbl, CC BY-SA 3.0 (license)

The experimental Just-in-Time compiler that has been lurking inside CPython since version 3.13 is finally getting a real shot at graduation.

Python core developers Savannah Ostrowski, Ken Jin, and Brandt Bucher published PEP 836 on Wednesday, laying out a 2.5-year roadmap to transform the JIT from an opt-in experiment into a supported, non-experimental feature of the language. The PEP carries a characteristically understated title: "JIT Go Brrr."

The JIT has been quietly maturing. In Python 3.15, it already delivers a measurable 4–12% geometric mean performance improvement across Tier 1 platforms, reduces generated code's memory footprint compared to 3.14, and produces stack frames that native debuggers can unwind. But the team wants more — the PEP sets a minimum bar of 20% geometric mean improvement on pyperformance benchmarks by the first beta of Python 3.17, measured across all supported Tier 1 platforms.

The roadmap spans roughly two and a half years. Year one — targeting Python 3.16's first beta — focuses on developer experience: evolving the JIT's frontend from trace-based recording to method-based compilation, making it compatible with Python's free-threading (no-GIL) builds, and providing redistributors with a reproducible way to build JIT stencils without locking into a single LLVM version. The team also wants at least a 5% performance uplift for the JIT-plus-GIL build over the interpreter alone as an early checkpoint.

If the milestones are met, the JIT can be promoted to non-experimental status. If not, the Steering Council and core team will re-evaluate whether the JIT should remain in CPython's main branch at all.

This is a measured, milestone-gated approach — no blank checks. The PEP explicitly rejects several alternatives, including maintaining the JIT outside of CPython main or building a pluggable JIT infrastructure. The message is clear: the JIT either proves its worth inside the tree, on a fixed timeline, or it gets cut.

For a language that has spent three decades relying on a straightforward bytecode interpreter, this is a consequential moment. Python has absorbed lessons from the JavaScript world, where JIT compilers turned a slow scripting language into a performance contender. If the team hits its targets, Python 3.17 could ship with the biggest single-threaded performance leap in the language's history.

The PEP is currently in Draft status with discussions pending. The source is available on GitHub.

More Hourlies Stories

Content on Anagnorisis is summarized, paraphrased, and editorialized from publicly available sources for length and clarity. Original sources are linked where available. All trademarks belong to their respective owners.

More from Anagnorisis