- Sources: PEP 836, discuss.python.org thread, HN 49051639
- Summary: Draft Standards Track PEP 836 was created 2026-07-02 by Savannah Ostrowski, Ken Jin, and Brandt Bucher, targeting Python 3.16. It does not declare the JIT supported. It sets a time-bounded path with numeric gates. The PEP states the current 3.15 JIT is 4 percent to 12 percent faster than the interpreter by geometric mean on pyperformance across measured Tier 1 platforms. The stated minimum bar for keeping JIT development in CPython main is at least 20 percent geometric mean improvement for the JIT plus free-threaded build against the non-JIT free-threaded interpreter, by the first beta of Python 3.17. Year one work to 3.16 beta 1 moves the frontend from trace recording to method-based compilation, makes the JIT compatible with free-threading, expands profiler and debugger testing, and gives redistributors a way to build or verify JIT stencils without long-term dependence on one exact LLVM version, while not regressing below 5 percent uplift for the JIT plus GIL build. If the goals are missed, the Steering Council and core team re-evaluate whether the JIT remains in CPython main. Enabling it by default would still need separate Release Manager approval.
- Why it matters: A published numeric condition for removal says more about CPython's performance direction than the incremental benchmark posts do, and it names the free-threaded build as the configuration the JIT has to win in.
- Follow-up: Watch for Steering Council acceptance, the method-based frontend landing, and the measurement at 3.16 beta 1.
send feedback on this story