Article 765MA Python JIT compiler project under threat after steering council says proper process wasn't followed

Python JIT compiler project under threat after steering council says proper process wasn't followed

by
from www.theregister.com - Articles on (#765MA)
Story ImageThe Python steering council has surprised onlookers by asking for the suspension of new development on the JIT (just in time) compiler project from the main branch of the Python code repository, pending creation and acceptance of a new PEP (Python enhancement proposal) for the project. Bug and security fixes for existing JIT code in main will continue to be accepted, but if no PEP is submitted and approved within six months, the JIT code will be removed from main. The announcement is unexpected because an improved JIT compiler is one of the key features of Python 3.15, for which features are frozen, and for which full release is expected in October. The release notes promise "8-9 percent geometric mean performance improvement" over the standard CPython interpreter on x86-64 Linux. That said, the JIT compiler is experimental and disabled by default; use requires setting PYTHON_JIT=1 as an environmental variable. The implication of the steering council statement is that the experimental JIT compiler should not have been merged into main, on the grounds that PEP 744, which relates to the JIT, is only informational and contains open questions. "We (the Steering Council) have not been as strict about following the process as a change of this complexity and reach deserves," states the post from council member Pablo Galindo Salgado. These open questions include future maintenance of the JIT, compatibility with existing CPython features and tooling, clear and measurable success metrics, and relationship to third-party JIT compilers. Key JIT contributor Mark Shannon said "stopping all development until a PEP is accepted puts us in an awkward position," because it puts pressure on the JIT team to produce a new PEP quickly, but doing so will not give the community time to discuss it. He said a new PEP was already planned for "later this year when the performance advantage would be larger." Shannon has asked for a grace period of "a month or two" to continue work. He said "a moratorium risks loss of momentum and losing the new contributors we have recently gained." Asked whether development could continue in a fork, Shannon said it was not easy due to the way optimizations are generated, leading to very large code differences that are hard to manage. The impact of the steering council's JIT statement is that the future of the project is now in doubt, whereas before it looked likely to become part of CPython. Six months is not long for creating a PEP and having it agreed; and if in fact the JIT code is removed from the main branch the project is likely to lose momentum. Salgado said "the intent is not to call for competing proposals" but nevertheless raised the possibility of shifting towards "a JIT infrastructure that can support multiple implementation strategies," and implied the steering council would prefer an infrastructure that is not "highly coupled with a single strategy." The announcement appears to have come as a surprise to Shannon and others suggesting a lack of communication between the steering council and the JIT project team. Another steering council member, Donghee Na, said "the current experimental JIT project needs an official PEP" and "this would be a good time to review the different possible approaches." Fast-track approval of a new PEP will be hard to achieve alongside the lengthy likely discussion of different approaches. Both Salgado and steering council member Thomas Wouters said there is some flexibility around the six-month deadline. "We're not unreasonable," said Wouters, "but we do want this to be taken seriously."(R)
External Content
Source RSS or Atom Feed
Feed Location http://www.theregister.co.uk/headlines.atom
Feed Title www.theregister.com - Articles
Feed Link https://www.theregister.com/
Reply 0 comments