Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 13 additions & 11 deletions peps/pep-0836.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@ Author: Savannah Ostrowski <savannah@python.org>,
Ken Jin <kenjin@python.org>,
Brandt Bucher <brandt@python.org>
Discussions-To: https://discuss.python.org/t/pep-836-jit-go-brrr-the-path-to-a-supported-jit-compiler-for-cpython/108010
Status: Draft
Status: Withdrawn
Type: Standards Track
Created: 02-Jul-2026
Python-Version: 3.16
Post-History: `03-Jul-2026 <https://discuss.python.org/t/pep-836-jit-go-brrr-the-path-to-a-supported-jit-compiler-for-cpython/108010>`__
Resolution: `19-Oct-2026 <https://discuss.python.org/t/pep-836-jit-go-brrr-the-path-to-a-supported-jit-compiler-for-cpython/108010/57>`__


Abstract
Expand Down Expand Up @@ -834,12 +835,13 @@ largely in:
While this PEP does propose and outline an evolution for the JIT (transitioning
from tracing to method-based, with heavy reuse of existing code), it does not
prescribe a particular implementation of that design. With that said, a working
proof-of-concept implementation against ``main`` exists, and will be shared soon.
proof-of-concept implementation against ``main`` `exists
<https://github.com/python/cpython/compare/main...openai-oss-forks:cpython:public/pep-836>`__.

Despite the fact that it is currently under development and incomplete (it does
not yet handle generators and coroutines, for example, and has no support for
polymorphism, both of which are supported partially by the existing tracing
frontend), it is still 4-5% faster on the pyperformance and Pyston
frontend), it is still 5-6% faster on the pyperformance and Pyston
macrobenchmark suites vs. JIT off, on a GIL-enabled build. This demonstrates
that the new design developed in just a couple of months can be competitive with the
existing tracing design (which is 7-8% faster on the same x86-64 Linux
Expand All @@ -851,27 +853,27 @@ approximately as follows:
+---------------+---------------+-------------+---------------+
| File Type | Files Changed | Lines Added | Lines Removed |
+===============+===============+=============+===============+
| Generated | 13 | 4200 | 5300 |
| Generated | 10 | 1,300 | 3,100 |
+---------------+---------------+-------------+---------------+
| Non-Generated | 38 | 5800 | 2700 |
| Non-Generated | 40 | 3,000 | 4,300 |
+---------------+---------------+-------------+---------------+
| Total | 51 | 10000 | 8000 |
| Total | 50 | 4,300 | 7,400 |
+---------------+---------------+-------------+---------------+

Broken down by file extension:

+-----------+---------------+-------------+---------------+
| Extension | Files Changed | Lines Added | Lines Removed |
+===========+===============+=============+===============+
| .c | 20 | 5400 | 2300 |
| .c | 16 | 2,800 | 3,400 |
+-----------+---------------+-------------+---------------+
| .c.h | 6 | 2400 | 3300 |
| .c.h | 4 | 900 | 2,000 |
+-----------+---------------+-------------+---------------+
| .h | 20 | 2100 | 2300 |
| .h | 18 | 500 | 1,500 |
+-----------+---------------+-------------+---------------+
| .py | 5 | 100 | 100 |
| .py | 12 | 100 | 500 |
+-----------+---------------+-------------+---------------+
| Total | 51 | 10000 | 8000 |
| Total | 50 | 4,300 | 7,400 |
+-----------+---------------+-------------+---------------+


Expand Down
Loading