CPython 实验性 JIT 编译器将被移除
【摘要】 文章摘要
背景
2024 年,CPython 3.13 引入了实验性 JIT 编译器(由 Brandt Bucher 主导开发),基于信息性 PEP 744。JIT 默认关闭,需设置 PYTHON_JIT=1 启用。
经过
| 时间 | 事件 |
|---|---|
| 2026-06 | Python 指导委员会(Steering Council)暂停 JIT 在 main 分支的新开发,要求 6 个月内提交并获批一份 Standards Track PEP,否则移除 JIT 代码 |
| 2026-07-03 | 维护者提交 PEP 836(“JIT Go Brrr: The Path to a Supported JIT Compiler for CPython”) |
| 2026-10-19 | PEP 836 被撤回(创建后仅 109 天) |
撤回原因
JIT 共同维护者 Savannah Ostrowski 表示:
“指导委员会对这种规模的提案合理地设定了高门槛,但我们没有足够的个人精力来推进当前版本。”
委员会此前反馈 PEP 836 “基本回答了问题”,但在用户可见行为变更、安全审查、兼容性审查时间表(原定 2028 年 8 月的 3.17 RC)等方面"过于模糊或乐观"。
后续影响
- 对普通用户:JIT 本就默认关闭,绝大多数人不受影响。
- 对 3.15 及之前版本:已有 JIT 代码继续接受 bug 和安全修复。
- 对 3.16 开发周期:JIT 代码预计将在 3.16 早期从 main 分支移除。
- 社区前景:Brett Cannon 表示"不太可能"有人接手,因为核心推动者已退出。但技术上任何人都可以 fork 参考实现继续开发。
替代方案
Python 性能优化并未就此终结:
- PyPy:成熟的替代解释器,JIT 性能提升可达 10 倍以上,但兼容性有限(仅支持 3.12/3.11/2.7)
- CinderX(Meta):作为实验性附加组件提供 JIT
- Numba / PyTorch.compile:JIT 相邻的优化方案
- Specializing Adaptive Interpreter:CPython 默认优化策略
【版权声明】本文为华为云社区用户翻译文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,
举报邮箱:cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)