2025年3月14日,Python软件基金会(PSF)内部消息人士向媒体证实,一项备受瞩目的Python JIT(Just-In-Time)编译器项目已被正式要求暂停开发。该项目原本旨在为CPython解释器引入即时编译技术,以大幅提升Python代码的执行效率,但近期因技术成熟度、维护成本及与现有生态的兼容性问题,被核心开发团队叫停。该决定引发Python社区强烈反响,支持者与质疑者各执一词。
项目背景:六年探索,剑指性能瓶颈
Python作为全球最流行的动态语言之一,其解释执行模式长期被视为性能短板。自2019年起,由CPython核心开发者Mark Shannon发起的“CPython JIT”子项目,试图借鉴PyPy、LuaJIT等成功经验,在保留CPython兼容性的前提下,通过将热点代码编译为机器码来提升执行速度。项目初期获得了包括谷歌、微软在内的多家科技公司资助,并在Python 3.13预发布版本中提供了实验性支持,据称在特定基准测试中实现了30%-50%的性能提升。
然而,该项目始终面临两大技术难点:一是Python动态类型系统使得JIT编译的优化空间受限;二是维护JIT引擎需要额外数万行C代码,与CPython“保持核心解释器简洁”的设计哲学产生冲突。2024年底,核心开发者团队在一次内部评审中得出结论:JIT分支已导致CPython主线的代码复杂度上升15%,而社区贡献者参与JIT模块维护的比例不足2%。
暂停决定:源于资源分配与风险考量
据PSF技术委员会发布的声明,暂停开发的直接原因有三项:第一,JIT模块在ARM架构(尤其是苹果M系列芯片)上存在未修复的段错误,影响稳定性;第二,JIT编译后的代码与C扩展模块(如NumPy、Pandas)的交互出现非预期行为,导致部分科学计算库效率不升反降;第三,维护团队长期面临人力短缺,原计划中的JIT编译缓存优化、内联缓存等核心功能迟迟无法推进。
项目负责人Mark Shannon在邮件列表中表示:“这是一个艰难但必要的决定。我们意识到,在当前资源下继续推进JIT,可能会分散对Python 3.14其他重要特性(如无GIL模式、类型提示增强)的开发精力。”他同时强调,暂停不等于终止,相关技术方案将被归档,待底层基础设施成熟后或重启。
社区反应:阵营分化,争论焦点各异
该决定在Python社区引发激烈讨论。支持者认为,CPython的首要任务是保持稳定和兼容,不应为了性能冒险引入“黑魔法”。知名开发者Raymond Hettinger在Twitter上指出:“Python的杀手锏是简洁与快速开发,而非极致性能。JIT应该是第三方项目(如PyPy)的责任,而非官方解释器。”此外,部分使用嵌入式Python的场景(如IoT设备)反馈,JIT增加的内存占用(约5-10MB)对于资源受限设备并不友好。
反对者则痛斥PSF“短视”,认为动态语言性能提升是行业趋势,苹果已在Swift中成功应用JIT,Java、JavaScript更是靠JIT实现了生态繁荣。独立开发者李维在博客中写道:“如果Python不解决性能问题,十年后它将被Rust、Mojo等新语言取代。暂停JIT开发简直是自断臂膀。”值得关注的是,数据科学领域的用户反应相对平淡——他们更依赖NumPy、PyTorch等C扩展库,对解释器级优化感知不强。
行业影响与未来展望
此次暂停事件也波及到数家依赖Python性能服务的初创公司。位于旧金山的量化交易公司QuantVox表示,其基于JIT预发布版的交易回测系统将回退至PyPy方案,预计迁移成本约20万美元。另一方面,PyPy团队则借机发声,声称其完全兼容CPython 3.12且性能稳定,呼吁用户考虑迁移。
PSF执行董事Deb Nicholson在接受采访时表示,基金会不会放弃性能优化议程,但会调整策略:短期集中精力完善“无GIL模式”(Python 3.13实验性特性),中长期则探索借助LLVM基础设施实现“低维护成本的轻量JIT”。她透露,一项名为“PEP 744:字节码编译管线重构”的提案已进入初步讨论阶段。
截至发稿时,Python 3.14 Alpha版本的源码中已删除JIT相关代码,但保留了接口占位符。对于那些期待“更快Python”的用户,或许需要更多耐心——即便是在动态语言的世界里,前进之路也从来不是直线。