JIT Planning for 3.15 and 3.16
Đang mở
@diegorusso đang làm issue này rồi.
Từ ngày 12/1/2026.
interpreter-core
topic-JIT
- Ngôn ngữ chính
- Python
- Star
- 77.2k
- Fork
- 35.9k
- Chỉ số merge pull request
- Chỉ số pull request đang chờ
Mô tả
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% https://github.com/python/cpython/issues/142982
- Free-threading supported (pre-beta) https://github.com/python/cpython/issues/133171 https://github.com/python/cpython/pull/141595
- Support for out-of-process profilers and debuggers https://github.com/python/cpython/issues/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 https://github.com/python/cpython/pull/135465
- More optimizations https://github.com/python/cpython/issues/131798 https://github.com/python/cpython/issues/134584
- Trace recording https://github.com/python/cpython/issues/139109
- Code gen
- LLVM 21 #140479
- Warm up faster
- More specialization https://github.com/python/cpython/issues/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-142845
- gh-143479
- gh-143705
- gh-146013
- gh-148018
- gh-148359
- gh-148572
- gh-149210
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Đánh giá
Issue này chưa được đánh giá.