Having worked on the JIT since almost its inception, I strongly believe this work should continue. I believe the JIT has the potential to be transformational for Python. I’ve been advocating for it at conferences and community events from the very beginning, and over the past few years we’ve shown that the current implementation works and gives us a solid foundation to build on.
I also support splitting this into two PEPs: the first PEP should document the current implementation, its scope, and the requirements for having a supported JIT in CPython. That gives us a clear baseline that everyone can agree on and build from.
My concern with trying to cover everything in a single PEP is that it broadens the discussion and makes it harder to reach consensus. The Steering Council’s requests can be addressed through multiple focused PEPs rather than trying to fit everything into one document. Once we have an agreed baseline, follow-up PEPs can evolve individual parts of the JIT independently. That keeps each discussion focused on the specific change being proposed.
I also hope we can get to that baseline quickly. The pause in JIT development has inevitably slowed momentum, and I’d like to see that unblocked as soon as possible. Once we have a shared understanding of the current implementation and its requirements, we can continue discussing improvements, such as the change of the frontend proposal, through focused PEPs that are easier to review on their own merits.
To me, this feels like the most practical path towards a supported in-tree JIT for CPython. Let’s agree on where we are today, then continue improving it through smaller, focused PEPs.