50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

  • 2024-10-16
    北京
  • 本文字数:935 字

    阅读完需:约 3 分钟

大小:426.77K时长:02:25
增量垃圾收集器的“重大更改”使 Python 3.13 推迟发布

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/

2024-10-16 15:234611

评论

发布
暂无评论
发现更多内容

第二周作业

changtai

极客大学架构师训练营

架构师训练营第二周总结

sunnywhy

架构师训练营-作业-2-架构设计原则

superman

带功能隔离的cache设计

Coder的技术之路

架构师训练营 - 软件设计原则

Pontus

极客大学架构师训练营

架构师训练营 - 第二周 - 学习总结

韩挺

【架构训练营】第二周总结

Mr.hou

极客大学架构师训练营

Spring Web MVC 依赖倒置原则分析

鲁米

Week 02 学习总结

卧石漾溪

极客大学架构师训练营

架构师训练营——第二周作业

jiangnanage

嵌入SpreadJS,赋能计量器具检定信息化

葡萄城技术团队

SpreadJS 计量检定

第二周学习总结

武鹏

架构师训练营-第二章课程总结-软件设计&面向对象

而立

极客大学架构师训练营

架构设计篇之领域驱动设计(DDD)

小诚信驿站

领域驱动设计 DDD 架构设计 架构设计原则 刘晓成

理解持续测试,才算理解DevOps

禅道项目管理

DevOps 测试 持续集成

依赖倒置原则

Coder的技术之路

java静态代理与动态代理

张瑞浩

深入理解MySQL索引

Simon郎

MySQL 索引

CVPR 2020 六小时教程上线!新视角生成的前沿方法

神经星星

人工智能 学习 计算机视觉 模式识别 教程

在滴滴和字节跳动干了 2 年后端开发,太真实…

程序员生活志

程序员 字节跳动 后端 滴滴 开发

永远招聘:打造高绩效团队的最佳姿势

伴鱼技术团队

企业文化 管理 团队建设 绩效 团队组织

架构师训练营第二周作业

sunnywhy

第二周总结

芒夏

极客大学架构师训练营

【架构训练营】第二周作业

Mr.hou

极客大学架构师训练营

架构师训练营 - 第二周 - 作业

韩挺

英特尔发布提升计算效率的多种新方法:将在机器人、增强现实等领域广泛应用

最新动态

第二周作业

芒夏

极客大学架构师训练营

Week2-总结

TiK

极客大学架构师训练营

Week2-作业

TiK

极客大学架构师训练营

架构师训练营第二周作业

好名字

极客大学架构师训练营 作业

架构师训练营 - 软件设计原则

Pontus

极客大学架构师训练营

增量垃圾收集器的“重大更改”使 Python 3.13 推迟发布_编程语言_Tim Anderson_InfoQ精选文章