GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — JIT Planning for 3.15 and 3.16 · Issue #139038 · python/cpython

JIT Planning for 3.15 and 3.16 #139038

New issue
Copy link
New issue
Copy link
Open
Open
JIT Planning for 3.15 and 3.16#139038
Copy link
Assignees
diegorussosavannahostrowskimarkshannonFidget-Spinnerbrandtbucher
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)topic-JIT

Description

@savannahostrowski
savannahostrowski
opened on Sep 17, 2025
Issue body actions

Following a conversation at the CPython Core Dev Sprint, this is an uber issue tracking JIT performance goals and planning for 3.15 and 3.16.

The goal here is to capture our goals and the work that we believe is necessary to enable the JIT (on by default).

3.15 (May 2026)

Goals & "features"

Must Haves

  • 5% faster (geometric mean)
    • Best case: 50% faster
    • Worst case: -10% faster
  • JIT coverage (i.e., how much code is being JIT'ted): 80% JIT coverage can be improved considerably #142982
  • Free-threading supported (pre-beta) Make the JIT thread-safe #133171 gh-141594: A free-threaded JIT (Part 1) #141595
  • Support for out-of-process profilers and debuggers Supporting stack unwinding in the JIT compiler #126910

Nice to haves

  • 10% faster (geometric mean)
    • Best case: 100% faster
    • Worst case 1% slower
  • JIT coverage (i.e., how much code is being JIT'ted): 90%
  • Robust documentation

How will we do this?

  • Register allocation GH-135379: Top of stack caching for the JIT. #135465
  • More optimizations Better uop coverage in the JIT optimizer #131798 Eliminate redundant refcounting in the JIT #134584
  • Trace recording Trace recording JIT #139109
  • Code gen
  • LLVM 21 Update JIT builds to use LLVM 21 #140479
  • Warm up faster
  • More specialization Broader specialization in the Specializing Adaptive Interpreter for better JIT performance #143732

3.16

Goals & "features"

Must Haves

  • ~ similar debuggability and performance across Tier 1 platforms
  • 2+ maintainers in front-end, middle-end, and back-end
  • ...Anything listed in 3.15 nice to have that was not achieved (e.g. docs, better coverage, faster)

How will we do this?

  • Unboxing (int/float/other types)
  • LLVM 22

Linked PRs

  • gh-139038: Add JIT What's New for 3.15 #142845
  • gh-139038: Add macOS performance numbers for the JIT #143479
  • gh-139038: Update JIT perf figures for 3.14a4 #143705
  • gh-139038: Link to Savannah's webpage for JIT results #146013
  • gh-139038: Update JIT results in preparation for 3.15a8 #148018
  • gh-139038: Credit more people for JIT in 3.15 #148359
  • gh-139038: Add whatsnew entry for jit unique reference tracking #148572
  • gh-139038: Update final JIT figures for 3.15b1 #149210
Reacted by Rafał Pitoń, Wulian233, An Long, Nadeshiko Manju, Lukas Heumos, Furkan Onder, porly1985, Sergio Castillo, Aleksandr Andreev, ResponsibleMove and 17 more

Activity

  1. savannahostrowski
    assigned
    Fidget-Spinner
    ,
    brandtbucher
    ,
    markshannon
    and
    savannahostrowski
    on Sep 17, 2025
  2. savannahostrowski
    added
    topic-JIT
    on Sep 17, 2025
  3. picnixz
    added
    interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)
    on Sep 17, 2025
  4. corona10 commented on Sep 18, 2025

    @corona10
    corona10
    on Sep 18, 2025
    Member
    More actions

    Here is link the issue related JITxFree-threadng: #133171

    Reacted by Savannah Ostrowski
  5. hugovk
    added a commit that references this issue on Dec 17, 2025

    gh-139038: Add JIT What's New for 3.15 (#142845)

    1fc3039
  6. Fidget-Spinner
    added 2 commits that reference this issue on Jan 6, 2026

    gh-139038: Add macOS performance numbers for the JIT (GH-143479)

    d9c1235

    gh-139038: Update JIT perf figures for 3.14a4 (GH-143705)

    9633f95
  7. diegorusso
    self-assigned this
    on Jan 12, 2026
  8. reidenong
    added a commit that references this issue on Jan 12, 2026

    pythongh-139038: Update JIT perf figures for 3.14a4 (pythonGH-143705)

    7b29565
  9. thunder-coding
    added 2 commits that reference this issue on Feb 15, 2026

    pythongh-139038: Add macOS performance numbers for the JIT (pythonGH-…

    0aec9b3

    pythongh-139038: Update JIT perf figures for 3.14a4 (pythonGH-143705)

    9d06f54
  10. hugovk
    added a commit that references this issue on Mar 16, 2026

    gh-139038: Link to Savannah's webpage for JIT results (#146013)

    e2e6203
  11. Fidget-Spinner
    added a commit that references this issue on Apr 2, 2026

    gh-139038: Update JIT results in preparation for 3.15a8 (GH-148018)

    74a82a2
  12. Fidget-Spinner
    added 2 commits that reference this issue on Apr 10, 2026

    gh-139038: Credit more people for JIT in 3.15 (GH-148359)

    c4d9512

    gh-139038: Add whatsnew entry for jit unique reference tracking (GH-1…

    aee63e2
  13. ljfp
    added 4 commits that reference this issue on Apr 25, 2026

    pythongh-139038: Link to Savannah's webpage for JIT results (python#1…

    37e9dc4

    pythongh-139038: Update JIT results in preparation for 3.15a8 (python…

    a03e15b

    pythongh-139038: Credit more people for JIT in 3.15 (pythonGH-148359)

    ca8437c

    pythongh-139038: Add whatsnew entry for jit unique reference tracking (…

    c64e2f1
  14. hugovk
    added a commit that references this issue on May 1, 2026

    gh-139038: Update final JIT figures for 3.15rc1 (#149210)

    fa54244
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

  • @Fidget-Spinner
    Fidget-Spinner
  • @brandtbucher
    brandtbucher
  • @diegorusso
    diegorusso
  • @markshannon
    markshannon
  • @savannahostrowski
    savannahostrowski

Labels

interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)topic-JIT

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    You are visitor 01402503 — GeezerVison does not store the pages you look up.
    Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.