时隔16年Jeff Barr重返10.23-25 QCon上海站,带你看透AI如何重塑软件开发! 了解详情
写点什么

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

评论

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

原来 8 张图,就可以搞懂「零拷贝」了

小林coding

Linux 计算机基础 高性能 零拷贝

有感-人工智能学习

superman

是的,我去封闭开发了

程序员与厨子

生活,随想 工作哲学 摄影 摄影征文

高难度对话读书笔记—情绪篇2

wo是一棵草

记一次"截图"功能的项目调研过程!

程序员 编程开发 项目实战 架构师技能

Android Native crash处理案例分享

阿里云金融线TAM SRE专家服务团队

android

架构师第一期作业(第二周)

Cheer

课程作业

云图说 | 华为云应用服务网格,让你的应用治理智能化、可视化

华为云开发者联盟

网络I

Spring Cloud 微服务实践(4) - OAuth2

xiaoboey

微服务 Spring Cloud OAuth2 JWT

Java多线程知识点总结(思维导图+源码笔记),已整理成PDF版文档

Java架构之路

Java 程序员 面试 编程语言 多线程

九、给小白看的第二篇Python基础教程

刘润森

Python

快速了解前端开发HTML的正确姿势

华为云开发者联盟

CSS html

Spring Cloud 微服务实践(5) - 认证中心

xiaoboey

微服务 Spring Cloud OAuth2 JWT

话题讨论 | 你的编程能力是如何突飞猛进的?

InfoQ写作社区官方

学习 写作平台 排行榜 代码

可以秒杀全场的SpringCloud微服务电商实战项目,文档贼全

Java架构之路

Java 程序员 编程语言 架构师 项目实战

架构师训练营第二周作业

邓昀垚

一分钟带你认识深度学习中的知识蒸馏

华为云开发者联盟

学习

一张图揭秘在阿里、腾讯、美团工作的区别

Java架构师迁哥

从零开始的机器学习:免费在线教科书

计算机与AI

学习

腾讯这份Java面试核心,开源半天就收到Git近10W点赞

小Q

Java 分布式 算法 JVM 多线程

一大波人气博主袭来,现场直播华为全联接2020!

华为云开发者联盟

开发者 华为云

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

邓昀垚

解Bug之路-记一次对端机器宕机后的tcp行为

无毁的湖光

Linux TCP socket MQ Java 分布式

Spring知识点总结!已整理成142页离线文档(源码笔记+思维导图)

Java架构之路

Java spring 程序员 面试 编程语言

网站审核提不了款维护的解决方法有哪些?

丛林里的余光

网站平台

大作业

李白

2020年9月编程语言排行榜TOP20:学习Java语言的前景

Java架构师迁哥

Spring Cloud 微服务实践(6) - 资源服务器

xiaoboey

微服务 Spring Cloud OAuth2 JWT 权限控制

anyRTC无人机图传方案

anyRTC开发者

WebRTC 语音 直播 RTC 安卓

从基础到实践,一文带你看懂HashMap

华为云开发者联盟

Java hashmap

学习编程

InfoQ_34a83d636158

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