写点什么

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

评论

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

引领AI变革,九章云极DataCanvas公司重磅发布AIFS+DataPilot

九章云极DataCanvas

“多巴胺设计” 来袭,TDesign 主题中心上线

TDesign

设计 主题色 开源系统

MQTT 订阅标识符详解

EMQ映云科技

mqtt 订阅标识符

转型过程“千变万化”,怎样的数智平台才能够帮助企业顺利转型?

用友BIP

数智底座

安装Ingress-Nginx

tiandizhiguai

云原生 k8s

完成等保测评后有合格证书吗?是什么样的?

行云管家

等保测评 等保2.0 等级测评

Brotli-压缩算法的潮流 | 社区征文

不叫猫先生

Brotli 压缩算法 年中技术盘点

企业转型必修课,用友BIP成为企业数智化首选

用友BIP

国产替代

软件测试/测试开发丨Linux进程与线程学习笔记

测试人

Python Linux 程序员 软件测试

智能分析云 | 穿透式数据分析赋能数智国资

用友BIP

数据分析

Github实时数据分析与可视化训练营火热开启!免费领取5000元云上资源

阿里云大数据AI技术

MySQL 开发者 分布式计算 数据可视化 大数据、

航空机场行业如何绘就全面预算降本增效新画卷?

用友BIP

全面预算

融云「北极星」数据监控平台:数据可视通晓全局,精准分析定位问题

融云 RongCloud

监控 数据 IM RTC 融云

@Import :Spring Bean模块装配的艺术

华为云开发者联盟

spring 开发 华为云 华为云开发者联盟 企业号 7 月 PK 榜

点云标注的未来发展与技术革新

来自四九城儿

IPQ8072|XGS-PON|Dual Band 10GbE Wifi6 Industrial SBC DR8072V01

wallyslilly

基于PaddleOCR与OpenVINO™的结构化输出Pipeline

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

CST电磁仿真软件要怎么学?

思茂信息

操作 仿真软件 cst cst使用教程 cst仿真软件

Spring 能解决所有循环依赖吗?

江南一点雨

Java spring

LeetCode题解:2618. 检查是否是类的对象实例,使用instanceof

Lee Chen

JavaScript LeetCode

交付和发布的区别,你真的懂吗?

老张

持续集成 线上发布 版本火车

升级数智底座是数智化2.0时代的核心诉求

用友BIP

数智底座

云端利器!香港云主机带你畅享强大的云计算能力!

一只扑棱蛾子

香港云主机

Eplan是什么软件?学习Eplan软件的几个关键要点

智造软件

汽车电气架构 CAE CAE软件 EPLAN 电气辅助设计

ChatGPT赋能Scrum实践

俞凡

人工智能 Scrum 敏捷开发 ChatGPT

Win11 搭建SD WebUI环境 | 社区征文

IT蜗壳-Tango

AIGC Stable Diffusion 年中技术盘点 SD

北京汽车:传统车厂向“用户服务”转型的新范本

字节跳动数据平台

大数据 用户

只有1%的人才知道的ChatGPT写作技巧

俞凡

人工智能 ChatGPT

浅谈一下自动化运维优点和缺点,哪款工具好?

行云管家

自动化 IT运维 自动化运维

当你成为一个Tech Lead

码猿外

技术管理 Tech Lead

对线面试官 Redis | 十 Redis集群模式

派大星

Java 面试题

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