Python's experimental JIT to be removed
Source Entity
Hacker News

The Python steering council is removing the experimental JIT compiler introduced in version 3.13 due to unresolved maintenance and compatibility concerns. Future development of a JIT for CPython now depends on the approval of PEP 836 to establish clear success metrics and long-term support.
The Future of Performance in CPython
The Python ecosystem is currently navigating a significant transition regarding its core performance architecture. Following the introduction of an experimental just-in-time (JIT) compiler in the CPython 3.13 release earlier in 2024, the Python steering council has taken the decisive step to remove this feature from the main branch. This decision reflects the project's commitment to stability and long-term maintainability over the rapid integration of experimental performance enhancements.
Why the JIT Was Paused
In June 2024, the steering council halted work on the JIT, citing substantial concerns regarding maintenance overhead and cross-platform compatibility. While the promise of a JIT compiler—which translates code into machine instructions at runtime—is enticing for performance-critical applications, the complexity it introduces to the CPython codebase cannot be underestimated. The council determined that without a formal, vetted plan, the experimental code posed a risk to the integrity of the broader Python language.
The Role of PEP 836
To address these issues, the community has introduced PEP 836, titled "JIT Go Brrr: The Path to a Supported JIT." This proposal serves as a roadmap for reintroducing a JIT compiler in a more structured manner. By requiring a formal PEP, the steering council is ensuring that any future implementation comes with clear success metrics, a defined timeline, and a sustainable maintenance strategy that does not compromise the language's core stability.
Balancing Innovation and Stability
Python’s history is defined by its balance between ease of use and performance. The removal of the experimental JIT underscores a broader trend in the open-source community: the move away from 'feature-first' development toward 'governance-first' development. By pausing the JIT, the Python leadership is prioritizing the needs of the millions of developers who rely on a stable, predictable, and highly compatible CPython interpreter.
Broader Implications for Python
This shift indicates that CPython is not looking for a quick fix for performance but rather a comprehensive, long-term architectural upgrade. The outcome of PEP 836 will likely dictate how Python evolves over the next decade. If successful, it could pave the way for a faster, more efficient Python, but it will only happen through rigorous review and community consensus.
Conclusion
The removal of the experimental JIT is a sign of a mature project acting with caution. By demanding a higher standard of planning through the PEP process, the steering council is protecting the language's future. Developers should view this not as a failure of performance initiatives, but as a necessary step toward a robust, production-ready JIT implementation that can withstand the demands of modern software development.