写点什么

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

评论

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

LeetCode题解:1238. 循环码排列,归纳法,详细注释

Lee Chen

鸿蒙新世界迎华为阅读重大升级:让电子书也能读出纸书沉浸感

最新动态

合合信息:生成式Al时代的内容安全与系统构建加速,开启智能文档的全新潜能

阿Q说代码

内容安全 智能文档

16年后,“双11”被推翻重来

趣解商业

淘宝 电商 京东 双十一

LeetCode题解:89.格雷编码,归纳法,详细注释

Lee Chen

镜舟科技荣获中国信通院 2024 OSCAR 尖峰开源商业化案例奖

镜舟科技

开源 分析型数据库 StarRocks

50万奖金池!开放原子大赛——第二届OpenHarmony创新应用挑战赛正式启动

OpenHarmony开发者

OpenHarmony

鸿蒙新世界亮点聚焦:华为阅读APP升级精品书探索阅读新潮流

最新动态

如何衡量研发效能度量的价值?

思码逸研发效能

DevOps 研发效能 效能度量 研发效能度量 思码逸

LeetCode题解:2357. 使数组中所有元素都等于零,哈希表,详细注释

Lee Chen

PIRF 413:Recipe – What are we making?

Echo!!!

English

YAML文件格式校验:免费API使用技巧

幂简集成

API yaml

听听蜻蜓FM鸿蒙开发者的调频“新”声

最新动态

大模型RAG:基于大模型的机器人技术方案

程序员架构进阶

大模型 智能机器人 架构- 10月月更

“2024,我想和 TDengine 谈谈”征文活动获奖名单揭晓!

TDengine

数据库 tdengine 时序数据库

全域重复数据资产的自动识别与治理策略

Aloudata

数据治理 数据资产 元数据 数据血缘

Zabbix 数据对接观测云最佳实践

观测云

zabbix

LeetCode题解:2373. 矩阵中的局部最大值,遍历,详细注释

Lee Chen

在鸿蒙,轻松敲出热爱

最新动态

提升数据管理效率:ETLCloud与达梦数据库的数据集成

谷云科技RestCloud

数据库 数据同步 ETL 数据集成 达梦数据库

鸿蒙应用示例:仿钉钉日历新建日程

zhongcx

LeetCode题解:2357. 使数组中所有元素都等于零,排序,详细注释

Lee Chen

2363. 合并相似的物品,双指针,详细注释

Lee Chen

基于CRISPRCas9技术开发的用于肿瘤突变负荷(TMB)测量的新型FFPE

INSVAST

数据分析 基因数据分析 生信服务

RTE 2024 隐藏攻略

声网

「Mac畅玩鸿蒙与硬件1」鸿蒙开发环境配置1 - 认识鸿蒙系统与开发工具

SoraLuna

鸿蒙 硬件

「Mac畅玩鸿蒙与硬件2」鸿蒙开发环境配置2 - 在 Mac 上安装 DevEco Studio

SoraLuna

鸿蒙 硬件

第一届中国研究生操作系统开源创新大赛总决赛在长沙圆满落幕

最新动态

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