Python's JIT shipped in 3.13, and its own authors just withdrew the PEP that would keep it

Three core developers wrote PEP 836 to save CPython's experimental JIT. After the steering council called their review date "way, way too late", they withdrew it for lack of bandwidth.

In brief

The JIT, merged in 2024 without a standards-track PEP, was paused in June 2026 until one was accepted. Its maintainers drafted PEP 836, but the council wanted concrete support, performance and security plans, and objected to a compatibility review not due until August 2028. On October 19 the authors gave up.

Readers split between mourning and shrugging, and one pointed at a pattern.

A JIT merged without the paperwork

Python's JIT shipped in 3.13, and its own authors just withd
Python's JIT shipped in 3.13, and its own authors just withd

According to LWN's report, the experimental JIT compiler landed in CPython for the 3.13 release in early 2024, merged by Brandt Bucher without a standards-track PEP. In June 2026 the Python steering council paused JIT work in the main branch until an accepted PEP covered maintenance, compatibility, success metrics and a timeline.

Bucher, Savannah Ostrowski and Ken Jin drafted PEP 836. The council's September 21 statement said it was not specific enough about support, performance criteria and security, and called the planned compatibility review, set for the first Python 3.17 release candidate in August 2028, "way, way too late".

The authors withdraw: "we don't feel we have the personal bandwidth"

On October 19 Ostrowski announced the PEP was withdrawn, writing that "we don't feel we have the personal bandwidth to carry the current version forward." Brett Cannon confirmed work would stop in main, with removal likely early in the 3.16 cycle. The authors plan to keep the reference implementation outside the main repository. LWN reports no benchmark numbers.

The thread: this is the third JIT that starved

A CEO at a Brazilian company, bratao, called it bittersweet:

"Python is my favorite language, but I'm honestly tired of having to rewrite performance bottlenecks in Cython or Rust all the time."

Another commenter traced a pattern across projects:

"Unladen Swallow died for lack of upstream interest."

He added that PyPy lacks it too, and that NumPy removed support because it could not fathom a non-dead project a couple of versions behind CPython.

Cython as the JIT, and Rust as the escape hatch

One commenter proposed a decorator for inline Cython, compiled on first run, arguing it solves most of the problem. Another replied that it does nothing for the libraries a project pulls in, and a JIT is supposed to help without changing existing code. A founder who wrote an inline-C tool for Python in 2001 said the idea worked then and should work now, though he thinks better options exist today.

One commenter thinks the question is already moot: "Claude rewrite the performance bottlenecks in Rust works so well it is hard to see the security surface area and harder reason about performance as something that should be paid in core."

For Python users the practical reading is blunt: speedups from 3.13's JIT should not be planned around, and the escape hatches remain Cython, Rust and PyPy.

Get breakdowns like this every day

The top Hacker News stories, unpacked — by email, Telegram, or RSS.

Next story · 3 of 12 Read more
🚀Tech

Two Stanford authors opted out of Anthropic's $1.5 billion deal to sue for up to $150,000 per book

Tobias Wolff counts 10 of his books in the pirated libraries Anthropic downloaded, and says putting him to work that way without pay is "a form of slave labor".

★ 475 · 💬 265 · stanforddaily.com · 3 min