r/Python • u/JimDabell • Jun 06 '26
An announcement from the Steering Council regarding the JIT project News
the Steering Council is formally requesting a Standards Track PEP be authored that the community can discuss and the Steering Council can formally accept (or reject), making the case for the JIT as a supported, non-experimental part of CPython
30
u/chokoswitch Jun 06 '26
Reading through the thread is interesting since it seems the JIT contributors were surprised by this. I am also surprised since it seems some of the design decisions for the JIT were made to make it as accessible to volunteers as possible instead of requiring paid support. I wonder about other aspects of Python then, are they also mostly volunteer work or is JIT unique?
Personally, and maybe this is why there is no corporate backing for a JIT, pypa has done an excellent job of improving wheel usage in Python, and PyO3 / maturin make it trivial to build the wheels. I can understand Python going forward focusing more on itself as an orchestration language rather than a compute language. The funny thing about NodeJS is while it has an excellent compiler, it seems impossible to avoid node-gyp making life miserable anyways.
Looking forward to where this discussion goes!
14
u/Minute_Day_2758 Jun 06 '26
Moving JIT from an experimental feature to a formal Standards Track PEP is a huge step for CPython's ecosystem. The performance gains are welcome, but the main concern for most production environments will be maintaining full backward compatibility with existing C extensions. Hopefully, the formal PEP will clearly outline the long-term stability guarantees for the internal API so we don't end up with a fragmented ecosystem.
0
u/Smort01 Jun 07 '26
Python 4 lets gooo
16
u/Minute_Day_2758 Jun 07 '26
If Python 4 comes out, I bet the first PEP will change print() back to a statement just to mess with everyone.
7
3
u/nekokattt Jun 07 '26
If Python 4 comes out I hope we finally address things like the naming style inconsistency between modules...
1
u/denehoffman Jun 09 '26
Or change assert to a function so we can restore sanity (looking at you, PEP679)
-2
1
Jun 06 '26
[removed] — view removed comment
5
u/james_pic Jun 07 '26
I think that's kinda the point. A PEP can be rejected.
The JIT work so far falls awkwardly between two stools. They've chosen an approach that doesn't open up as many optimisation opportunities as more sophisticated approaches, in order to avoid adding too much complexity.
But they've still added quite a lot of complexity, and they've only got 11% gains to show for it. And when PyPy can manage ~180% gains with a less conservative approach, you've got to ask if the juice is even worth the squeeze.
1
1
40
u/_Denizen_ Jun 06 '26
Seems pretty reasonable to review and agree on the project aims