QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

增量垃圾收集器的“重大更改”使 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:234330

评论

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

Nautilus Chain:模块化Layer3的先行者

西柚子

架构实战营-模块1作业

link

企业OA上云靠谱最重要,多年业务推进为何华为云成为我的首选?

平平无奇爱好科技

学习 SSL/TLS ,这一篇就够了

火山引擎边缘云

TLS 证书 SSL证书

AI血洗时尚圈!就连这些线上店家都开始用AI生成爆款商品了

Openlab_cosmoplat

人工智能 AI

Kubernetes集群授权管理

穿过生命散发芬芳

Kubernetes 6 月 优质更文活动

OpenHarmony自定义组件

坚果

OpenHarmony 6 月 优质更文活动

理论+实践:从原型链到继承模式,掌握 Object 的精髓(二)

Immerse

HAG宣布在INX平台进行STO发行

股市老人

聊一聊“会员制”

鲸品堂

会员中心 付费会员 企业号 6 月 PK 榜

沙利文发布《2023中国数据管理解决方案市场报告》,腾讯云位列领导者梯队

说山水

java中synchronized和ReentrantLock的加锁和解锁能在不同线程吗?如果能,如何实现?

福大大架构师每日一题

Java Go 福大大架构师每日一题

自动驾驶的必要技术和等级

来自四九城儿

CC2530+ESP8266与手机APP通信

DS小龙哥

6 月 优质更文活动

Nautilus Chain:模块化Layer3的先行者

股市老人

把金融航母开进智能峡湾,总共分几步?

脑极体

华为 AI 金融

复旦大学高校专区入驻飞桨AI Studio,优质教育资源等你来学!

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨

Nautilus Chain:模块化Layer3的先行者

BlockChain先知

火山引擎Dataleap数据质量解决方案和最佳实践(一):数据质量挑战

字节跳动数据平台

数据治理 数据开发 数据质量 数据研发

自动驾驶发展依旧处于初步阶段

来自四九城儿

Nautilus Chain:模块化Layer3的先行者

大瞿科技

英特尔研究院发布全新AI扩散模型,可根据文本提示生成360度全景图

E科讯

Nautilus Chain:模块化Layer3的先行者

威廉META

2023-06-21:redis中什么是BigKey?该如何解决?

福大大架构师每日一题

redis 福大大架构师每日一题

敏捷项目管理工具大全

顿顿顿

敏捷项目管理 敏捷工具 scrum工具

中国自动驾驶发展加速,已实现多场景落地应用

来自四九城儿

基于 Flink CDC 构建 MySQL 到 Databend 的 实时数据同步

Databend

大规模 AI 高性能网络的设计与实践

Baidu AICLOUD

大模型训练 RDMA

Django笔记四十四之Nginx+uWSGI部署Django以及负载均衡操作

Hunter熊

Python nginx django 负载均衡 uwsgi

深度解读:ASP.NET Core Blazor 含快手入门教程

EquatorCoco

asp.net

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