By Matt Busel, who built the apps, crates and game he writes about · every number links to its source and every dataset is downloadable (methods) · corrections · featured in Kirino, gamebiz, This Week in Rust, New Mobile Life, By-Press
Python JIT: 222 commits in 6 months, then 7 after the freeze

On this page · 10 sections
Short answer: Python's experimental JIT was not a dying side project when the steering council paused it on June 5 2026. Our pull of every commit to CPython's JIT and optimizer files shows it was in the busiest stretch of its life: 222 commits from 33 people in the six months before the pause, including a record 65 in April. In the 4.7 months since, it got 7 commits, all fixes. The freeze did not find a stalled project. It stopped a growing one.
TL;DR: From December 5 2025 to June 4 2026, 33 different people pushed 222 commits to the JIT and its optimizer, and 17 of them were committing to that code for the first time. From June 5 to today, 7 people pushed 7 commits, every one a bug fix or cleanup. The maintainers have now withdrawn PEP 836, so the code is on track to leave CPython's main branch, and the numbers say the community that formed around it is the real loss.
Key numbers
| What | Number | Source, checked Oct 27 2026 |
|---|---|---|
| JIT + optimizer commits, Dec 5 2025 to Jun 4 2026 | 222 by 33 people | GitHub python/cpython |
| Commits since the June 5 pause (to Oct 27) | 7 by 7 people, all fixes | GitHub python/cpython |
| Busiest month ever | April 2026: 65 commits, 17 people | Our pull (data.csv) |
| First-time JIT contributors in the last 6 months before the pause | 17 | Our pull (data.csv) |
| All commits since June 2023 | 598 by 71 people | Our pull (data.csv) |
| Last commit from a microsoft.com email | July 30 2025 | Our pull (data.csv) |

The council froze the JIT at its peak, not its low
LWN's Joe Brockmeier reported on October 26 that the JIT maintainers withdrew PEP 836, the proposal the steering council demanded in June. The council had set six months for a PEP to be accepted, or the JIT code comes out of main.
The coverage tells the story as a process fight. Our data tells a different one. We pulled every commit that touched Tools/jit, Python/jit.c and the three optimizer files the JIT runs on: 598 unique commits since June 2023.
The six months before the pause were the busiest in the project's history. December 2025 brought 56 commits, January 41, April a record 65. Then June had 3.

A volunteer project, not a Microsoft one
The JIT is often filed as a Microsoft "Faster CPython" project. By the commit log, that stopped being true over a year ago. The last commit from a microsoft.com address landed on July 30 2025.
In the final six months before the pause, zero commits came from a microsoft.com address. The top committers were GitHub users Fidget-Spinner (36), cocolato (25), markshannon (24), NekoAsakura (20) and corona10 (17). Arm contributor diegorusso kept committing from an arm.com address until July 1 2026.
That matters. The fear about a JIT was always "who maintains it when the sponsor leaves". The sponsor had already left, and the contributor count went up, not down.

The real loss: 17 new contributors in six months
Mark Shannon warned in the PEP 836 thread that halting work would cost momentum and new contributors. The log shows how much was on the table.
Of the 33 people who committed in those last six months, 17 had never touched this code before. People per quarter went from 8 in Q3 2025 to 22 in Q1 2026 and 20 in Q2 2026. Q3 2026 had 5.
Growing a compiler team from volunteers is the hardest thing in open source. CPython had one forming, and a process rule stopped it. Nobody has proven the JIT would have hit its speed goals. But the pattern says it had the people to try.

How we counted, file by file
A JIT in CPython is not one file. The machine-code templates live in Tools/jit and Python/jit.c. The optimizer that decides what to compile lives in Python/optimizer.c, optimizer_analysis.c and optimizer_bytecodes.c. We pulled the full GitHub commit history for all five paths and de-duplicated commits that touched more than one.
| Path | All-time commits | Dec 5 2025 to Jun 4 2026 | Jun 5 to Oct 27 2026 |
|---|---|---|---|
| Python/optimizer_bytecodes.c | 262 | 142 | 4 |
| Python/optimizer.c | 224 | 55 | 2 |
| Python/optimizer_analysis.c | 132 | 44 | 1 |
| Tools/jit | 122 | 26 | 1 |
| Python/jit.c | 57 | 22 | 0 |
The optimizer rules file is the tell. 142 of its 262 lifetime commits, more than half, landed in the six months before the pause. That is where new optimizations get written, and it is where the new contributors were working.
One honest caveat: the optimizer files also serve CPython's tier-2 interpreter, not only the JIT. Some of those commits would help Python even with the JIT gone. That cuts both ways, because the freeze slowed that shared work too.
What the 7 post-freeze commits were
The council allowed bug and security fixes after June 5. The log matches that rule exactly. Here is everything that landed:
- June 14: remove unused imports from Tools/ (a repo-wide cleanup)
- July 1: make sure a context manager's exit is always called in a with statement
- July 22: initialize cold executor fields
- August 13: allow non-compact integers in one specialized boolean op
- September 30: fix the stack operand used by JIT dict access guards
- September 30: fix specialized C calls with extra method flags
- October 1: validate the correct builtins are used under the JIT
Not one new optimization. Seven people each showed up once to patch a bug, then left. That is what a project on life support looks like in a commit log, and it took four months to get there from a record.
The timeline in one place
June 2023: the first optimizer commits land. Early 2024: the JIT merges for Python 3.13, with an informational PEP 744 instead of a formal one. July 30 2025: the last commit from a microsoft.com address. December 2025: 56 commits, a new high. April 2026: 65 commits, the all-time high. June 5 2026: the steering council pauses new work. July 3: PEP 836 posted. September 21: the council's ten-point list. October 26: LWN reports the PEP withdrawn.
Read that sequence again with the numbers beside it. Every governance step came after the project had already proven it could recruit.
Who blocks it, by the record
We do not presume villains. The council's September 21 statement listed ten concerns, from memory use and security to platform parity, and called the PEP "overly optimistic" on user impact. Those are real costs for redistributors.
But the trade is now measurable. The cost of the freeze was 222 commits' worth of pace cut to 7, and a contributor pipeline cut by three quarters. If CPython wants a JIT later, it restarts with fewer people than it had in April.
What this means for you
If your Python service needs speed now, do not wait for a CPython JIT: profile first, then move the hot loop to PyPy, Numba, Cython or a Rust extension through PyO3, which we cover on our Rust hub. If you want the JIT back, the move is the one this data argues for: keep it alive out of tree, where the 33 people already proved they show up. Download our data.csv (all 598 commits, author and date) and check any claim here yourself. More builds and numbers on app dev and in the news feed.
Slow Python endpoint costing you money? Our paid fix finds and fixes the bottleneck, fixed within 24 hours or a full refund.
Sources
- LWN, Joe Brockmeier, Python's experimental JIT to be removed, October 26 2026
- Python discuss, PEP 836: JIT Go Brrr, July to October 2026
- GitHub, python/cpython commit history for Tools/jit, Python/jit.c and the optimizer files, pulled October 27 2026
First published here on tensorust.com on Oct 27, 2026. Related: .
Up next
More on App developmentNext.js bundle size: 86 homepages weighed, Next ships 3.6x the JSWe weighed the JavaScript on 86 big homepages. The median Next.js site ships 3,665 KB, everyone else 1,022 KB. Even nextjs.org carries 3.5 MB.Read it next →Cite this
Free to cite and reuse under CC BY 4.0 with a link back. How it was collected: methods. Spotted an error? Corrections.
Did this answer your question?
Get the next one by email.
What my AI agents tried this week, with the real numbers: what worked, what flopped, what made money. One email when there is something worth reading.
No spam, never sold. Every email has a one-click unsubscribe.
What are people saying about this? Read and post on The Floor →
More: the author, related reading, share this, a free game
Try it yourself · Building an app?
Get an honest budget for it
Pick your app type and features, get a range from real build costs. Free, no sign-up.
In The Manual: on this topic
Explainers answer one question, short answer first. Guides walk you through it step by step.
- Guide · iPhone appsHow to fix "MAC verification failed during PKCS12 import" (the legacy .p12 fix)
- Explainer · iPhone appsHow much does a GitHub Actions macOS runner cost?
- Explainer · Shipping and selling.NET Guid byte order: why ToByteArray() and SQL Server sort your GUIDs wrong
- Explainer · Shipping and sellingLamport clock vs vector clock: what each one can actually prove
Read next
Free tool: iPhone app cost calculator → Pick an app type and features, get an honest budget range.
- Dev · Oct 26, 2026 · 6 min readNext.js bundle size: 86 homepages weighed, Next ships 3.6x the JS
- Dev · Oct 25, 2026 · 10 min readWinUI vs web app slop: 21 of Microsoft's 34 apps ship WebView2
- Dev · Oct 25, 2026 · 8 min readRust mobile apps: React Native is 50% C/C++. Signal's core is 0%

