发生了什么
2026年4月17日,CPython核心开发者Hugo van Kemenade在Python官方论坛宣布:Python 3.14和3.15将撤回新的增量垃圾回收器(Incremental GC),回退到Python 3.13的分代垃圾回收器(Generational GC)。
这个决定引发了广泛关注——该帖子获得2.2万次浏览和188个赞,成为近期Python社区最热门的讨论之一。
为什么撤回
Python 3.14搭载了全新的增量垃圾回收器,旨在替代原有的分代GC。然而,上线后收到了大量来自生产环境的内存压力报告。
增量GC的核心思路是将GC工作分散到更多小步骤中执行,减少单次GC暂停时间。但在实际运行中,它导致了更频繁的内存分配和更高的内存占用,对生产环境的服务造成了负面影响。
值得注意的背景
- 增量GC没有经过PEP(Python增强提案)流程就直接合入了
- 在Python 3.13发布前夕,增量GC就曾被临时撤回过一次——同样的问题再次发生
- 增量GC增加了约1600行代码,显著增加了维护复杂度
- Tim Peters(Python社区元老)警告:在free-threading(无GIL)上下文中,GC代码的复杂性尤其危险
社区讨论要点
社区成员提出了几种替代方案:
- 双GC可选方案:让增量GC作为启动时可选参数(如
-X incremental_gc),但被核心团队否决——在补丁版本中维护两套GC风险太高 - 推迟到3.16:增量GC可以通过正式PEP流程重新评估后,在Python 3.16中回归
- 简化实现:Tim Peters建议保持GC代码尽可能简单
发布时间表
- Python 3.14.5:原定2026年6月9日,因撤回GC提前发布
- Python 3.15 beta:2026年5月5日起陆续发布
对站长和开发者的影响
1. 如果你在用Python 3.14并遇到内存问题——升级到3.14.5即可解决。
2. 不要急于升级到新大版本——这已经是增量GC第二次在正式发布前被撤回。等.1或.2补丁版本通常是更稳妥的选择。
3. 生产环境建议:目前最稳定的Python版本是3.13.x系列。如果需要3.14的新特性,确保升级到3.14.5或更高版本。
简评
增量GC的两次撤回说明了一个重要原则:对于语言级别的基础设施变更,稳定比创新更重要。Python核心团队最终选择”已知的好”而非”未知的好”,是务实的决定。
来源:Python官方论坛 | Hacker News讨论











Timothy Gowers Blog – A Recent Experience with ChatGPT 5.5 Pro


暂无评论内容