Python JIT开发官方紧急叫停:六个月内补PEP否则移除主干
Python 核心开发社区近期出现罕见动向——官方主动按下暂停键。
确切说,Python 指导委员会紧急发布《关于 JIT 编译器项目》公告,要求冻结代码主分支上即时编译器(JIT)所有新功能开发。现有代码可继续修复缺陷、执行安全更新,但新功能、性能优化与迭代工作一律叫停。
委员会同时划定时间线:未来 6 个月内,主导 JIT 开发的核心贡献者必须提交正式 PEP 提案;若逾期未通过,JIT 代码将被彻底移出主分支。
消息震动了大量开发者。毕竟 CPython 正在推进的 JIT 编译器项目一直是 Python 3.13/3.15 性能路线图的关键里程碑,实测已在 x86-64 Linux 上带来约 8–9% 的几何平均性能提升,为何突然叫停?
从“实验功能”到“治理漏洞”
实际上,Python 内置 JIT 是近年性能优化的重点工程,也确实交出了可量化的加速成果。但问题核心在于:这个 JIT 从一开始并未按正式特性规范设计。
它以“实验性质”进入 CPython 主分支,对应 PEP 744 仅是一份信息性提案(Informational PEP),缺乏标准功能所需的完整治理闭环。该 PEP 本身就留下大量未决事项:长期维护团队如何组建?安全性审计流程怎么定?调试与工具链支持谁来负责?对发行版及下游生态的影响?运行时保证边界?这些关键问题多年来始终未能形成统一的社区决策标准。
Python 指导委员会成员 Pablo Galindo Salgado 公开承认此前监管偏宽松,让复杂核心功能长期处于非正式实验状态。他直言:“面对如此高复杂度、影响范围如此广泛的变更,我们(指导委员会)在流程执行上确实把控不够严格。”
预留六个月窗口,要求 JIT 核心开发者重写 PEP
据此,Python 指导委员会要求 JIT 编译器的核心开发者和贡献者重新起草一份正式 PEP,清晰界定 JIT 的官方角色、维护机制、生态影响及兼容规范,交由社区讨论、委员会评估后正式接受或否决。
委员会同时建议 JIT 开发者拓宽思路:不必局限于当前单一方案,可搭建通用 JIT 基础设施,支撑多种优化策略迭代测试。官方明确指出,最新版 PEP 提案至少须涵盖以下核心议题:
对于这种规模与复杂度的子系统,长期维护确实是现实挑战。因此 PEP 必须明确说明:JIT 如何在长期内获得持续支持与维护,以及它将如何影响那些不直接参与 JIT 开发的维护者和贡献者。
还需阐述 JIT 如何与现有 CPython 特性及工具保持兼容。例如,JIT 怎样与 CPython 现有能力协作运行,并对这些能力提供何种保证。这涉及 free-threading、性能分析器、调试器等模块,但 PEP 应从更广泛、更精细角度处理,而非简单列出固定检查清单。
此外,必须给出清晰、可量化的成功指标与时间节点。即项目究竟要实现什么目标、何时达成——具体包括性能目标、平台覆盖范围以及内存开销等可衡量指标。
另一个关键议题是它与其他 JIT 编译器的关系。需说明该设计是否旨在提供通用基础设施供其他项目在其上构建;以及它预期与第三方 JIT 实现(例如 CinderX、Numba、PyTorch 等)是兼容还是互斥。
还需明确当前 JIT 架构被视为稳定设计,还是仍可能持续演变。
Pablo Galindo Salgado 补充道:“以上列表并不完整,仅代表我们希望该 PEP 覆盖的问题类型范例。随着社区讨论深入,我们预期会进一步补充新的关注点。”
社区裂痕:核心开发者反对冻结,支持声同样强烈
面对这一政策转向,Python 社区明显分化成两大阵营。
据外媒 The Register 报道,JIT 核心开发者 Mark Shannon 认为:“在新 PEP 获批前叫停所有开发,让我们进退两难。”这迫使 JIT 团队仓促制定新提案,无法给社区留出充分讨论时间。他透露团队原本计划今年晚些时候再提交新提案,届时编译器性能提升效果会更显著。
Mark Shannon 已申请一至两个月的宽限期,以便继续推进开发。他表示:“开发暂停可能导致项目失去推动力,还会流失我们近期吸纳的新贡献者。”当被问及能否在分支仓库中继续开发时,Shannon 表示此举不可行——由于优化代码的生成机制特殊,分支与主分支的代码差异过大会难以维护管理。
另一边,部分开发者认为委员会的决定合理:JIT 已不再是“小实验”,若要成为 CPython 核心组件,就必须走标准 PEP 流程,否则会破坏 Python 一贯的“治理一致性”。
结语
此次整改标志着 Python 官方正式收紧主干分支实验性功能规则,终结了 JIT 多年“边开发边试错、无正式规范”的迭代模式,核心功能升级全面回归标准化社区共识机制。
Python 委员会成员 Pablo Galindo Salgado 解释:“我们并非要终止项目,而是要求项目本身及社区获得清晰的说明与明确的承诺,以应对 CPython 运行时如此重大的变革。”
但从现实看,委员会这一决定确实让 JIT 项目前景蒙上阴影。此前该项目几乎确定会成为 CPython 官方组成部分,如今变数骤增。要在六个月内完成一份 PEP 提案并达成共识,时间本就紧张;一旦 JIT 代码真的被移出主分支,项目发展节奏将大幅放缓。
对此,你怎么看?

