Python's experimental JIT to be removed
First reported by Lwn ·
The experimental JIT compiler is no longer part of Python's future, meaning performance gains it might have offered will not materialize.
Python's experimental just-in-time (JIT) compiler, introduced in CPython 3.13 in 2024, is being removed. The Python steering council had paused work on the JIT in June, requesting a formal Python Enhancement Proposal (PEP) to address concerns about maintenance, compatibility, and success metrics. The JIT maintainers submitted PEP 836, "JIT Go Brrr: The Path to a Supported JIT Compiler for CPython," but after extensive discussion and feedback, the authors have withdrawn it. The council cited concerns regarding the PEP's specificity on support plans, performance criteria, and potential user-visible differences, as well as security and platform parity. The JIT code is expected to be removed from CPython's main branch soon, likely before the Python 3.16 development cycle begins, to address any fallout during that period. The original developers may make their implementation available for community exploration.
The withdrawal of PEP 836 signals a cautious approach by the Python steering council towards integrating experimental features into the core language. The extensive feedback and demands for more detailed proposals highlight a trend towards rigorous vetting of performance-enhancing technologies, particularly those that could impact compatibility or introduce subtle behavioral changes for users. This move suggests that future significant performance additions to CPython will require not only strong technical merit but also a clear, community-supported roadmap addressing long-term maintenance and broad impact.
The decision effectively halts the integration of this specific JIT implementation into CPython's main branch, shifting the burden of continued development to the community. While the reference implementation will be available, its future integration depends entirely on community interest and the creation of a new, potentially revised, PEP that satisfies the council's stringent requirements. This outcome could encourage the development of external JIT solutions or prompt a reconsideration of how experimental features are proposed and integrated within the Python ecosystem.
AI-written summary. May contain errors.