社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

增量垃圾收集器的“重大更改”使 Python 3.13 推迟发布

InfoQ • 4 月前 • 154 次点击  

作者 | Tim Anderson
译者 | 王强
策划 | Tina

CPython 3.13 的完整版本被推迟了一周发布,原因是为了移除增量垃圾收集器(GC),此前有报道称它会导致代码速度变慢,尽管这一更改的初衷是提高性能。

CPython 核心开发人员 Thomas Wouters 发布了他对“3.13 中增量 GC 更改的影响”的担忧,并补充说“目前尚不清楚增量 GC 是否提供了显著的改进(尽管较短的暂停时间可能还不错),它在常见情况下显然开销有点大,而且我们还在发现一些新的问题。”

虽然在这个非常晚的阶段移除它是“一项重大更改”,但 Wouters 认为,一个新的候选版本(没有增量 GC)并将 3.13 的发布推迟一周就足够了。“我们正在回滚到已知的旧代码,这比试图解决新代码中出现的各种问题的做法风险更小,”他说。

新的增量式 GC 目前仍保留在 CPython 3.14 的代码中,该版本计划于明年此时发布,但 Wouters 对此表示怀疑,他说“我们需要为这一更改提供更多的价值主张。”

微软 Faster CPython 团队的技术负责人 Mark Shannon 于去年 8 月提出了该特性,他表示:“当前的 GC 效率低下,而且可能会有非常长的暂停时间……我们应该使用增量式收集器,它可以提高效率并大大减少最大暂停时间。”

删除它的原因是 Sphinx 的性能下降,Sphinx 是 Python 团队使用的文档工具。使用 Python 3.13 时,构建 Sphinx 的时间从大约 1.28 秒增加到大约 1.80 秒,使用 Sphinx 构建 CPython 文档的时间从 45.5 秒增加到 62.7 秒。移除增量式 GC 已解决该问题。

另一位核心开发人员 Neil Schemenauer 指出,对 GC 的更改本质上可能会加快某些程序的速度并降低其他程序的速度。此外,“这可能会导致它们使用更多或更少的内存。或者,加快或减慢文件描述符和套接字等资源的释放速度。”

该特性发布过程中出现的一个问题是,试用发布候选版本的用户相对较少,因此很难衡量像这样的,结果好坏参半的更改的总体影响。“我们不知道这些 [减速] 是罕见情况还是常见情况。给它更多时间,让它在 3.14 分支中变得更成熟是一种谨慎的做法,我认为这是个好决定,”Schemenauer 说。

在某些情况下,移除增量 GC 会略微降低性能,像另一位开发人员报告的那样,特别是在 macOS 上。

原文链接:

https://devclass.com/2024/10/04/python-3-13-delayed-by-drastic-change-removal-of-incremental-garbage-collector/

声明:本文由 InfoQ 翻译,未经许可禁止转载。

今日好文推荐

黑悟空以3亿开发成本创超70亿收入;李开复辟谣零一万物放弃预训练大模型;K8s完成史上最大迁移,删除150万行代码 | Q资讯

CS今年达到历史巅峰!诺奖结果引爆热议:物理化学的尽头都是计算机?

AI革新软件:从底层到应用的全面升级!字节、阿里、腾讯齐聚QCon上海,60+分享不容错过

谷歌 Android 应用商店不得不进行全面改革?谷歌慌了:这会害了所有人!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/174989
 
154 次点击