写点什么

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

评论

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

VMware Cloud Director Availability 4.7.2 - 灾难恢复和迁移 (DRaaS 解决方案)

sysin

vmware

G1原理—G1垃圾回收过程之Mixed GC

不在线第一只蜗牛

Java 算法 JVM

YashanDB|担心异构数据库迁移踩“坑”?听听实战大咖怎么说

数据库砖家

数据库·

加速鸿蒙生态建设,APP混合开发或许是企业抢占增量流量的机会

Speedoooo

ai框架 小程序容器 小程序技术 纯血鸿蒙 鸿蒙生态

澳鹏(中国)9大垂类数据服务能力全景解读

澳鹏Appen

数据标注 大模型 垂类大模型

越读,越AI读:华为阅读用科技重新定义“阅读自由”

最新动态

YashanDB 知识库|自动选举参数配错引发的“连锁反应”,你中招了吗?

数据库砖家

数据库·

YashanDB知识库|imp 跨服务器导入太慢?其实是网络延迟+SQL交互在“搞事”

数据库砖家

数据库·

基于华为开发者空间从0实现一个MCP Server

华为云开发者联盟

华为云 华为开发者空间

接单流程设计探索

京东科技开发者

YashanDB 知识库|YCM 纳管主机失败?一看就是端口或防火墙的问题!

数据库砖家

数据库·

从编码执行者到系统指挥官:AI时代程序员的价值跃迁之路

飞算JavaAI开发助手

YashanDB知识库|账号被锁了怎么办?一文教你快速定位和解锁!

数据库砖家

数据库·

绝味20岁生日会,鸭厂鹅厂联手发布中国零售连锁AI垂直场景大模型

脑极体

AI

Java 开发瓶颈破局:飞算 JavaAI 如何一站式生成标准化项目结构?

飞算JavaAI开发助手

掌握设计模式--代理模式

量贩潮汐·WholesaleTide

设计模式

金仓数据库KingbaseES客户端编程接口侧负载均衡技术解析

金仓技术

KingBase 金仓数据库

迈向深度智能:CoT数据集如何让大模型学会「一步一步思考」?

数据堂

AI 数据集 大模型 思维链 CoT数据集

C.AI 推出 AvatarFX 模型:让图片角色开口说话;Grok 升级视觉理解,支持多语种语音和语音实时搜索丨日报

RTE开发者社区

高并发下单库存扣减异常?飞算 JavaAI 自动化生成分布式事务解决方案

飞算JavaAI开发助手

金仓数据库KingbaseES系统故障的排查方法

金仓技术

KingBase 金仓数据库

2025 Java 框架痛点全解析:如何避免性能瓶颈与依赖混乱

飞算JavaAI开发助手

AI时代下,应用动态化开发有新的思路?

Speedoooo

灰度发布 热更新 小程序容器 小程序技术 动态化技术

飞算JavaAI深度评测:从代码生成到工程化落地的完整能力

飞算JavaAI开发助手

金仓KingbaseES两地三中心方案简介

金仓技术

KingBase 金仓数据库

IoTDB MCP 获官方收录!从冷门协议到行业焦点:MCP 如何改变 AI 与数据的交互方式?

Apache IoTDB

探索Playwright:前端自动化测试的新纪元

京东科技开发者

VMware Cloud Director Availability 4.7.3 - 灾难恢复和迁移 (DRaaS 解决方案)

sysin

vmware

邀请函丨解锁颗粒仿真新视界:2025 Altair EDEM离散元技术研讨会报名启动!

Altair RapidMiner

制造业 数字孪生 CAE 离散元 EDEM

低代码:数字化转型的 “金钥匙” 还是 “幻影”?

代码制造者

YashanDB知识库|非 OM 安装数据库无法纳管到 YCM?原来是少了这一步!

数据库砖家

数据库·

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