查看原文
其他

编程语言Python 团队提供了三个“被诅咒”的更新,希望速度赶超C语言

21CTO 2022-05-25


在2021年Python 语言峰会 PyCon 上,Python创始人Guido van Rossum在 GitHub 上发布了一份演示文档,展现了自己提升 Python 速度表现的雄心壮志。


在文档中,他披露了“Shannon Plan”项目,承诺 4 年把 Python 速度提升 5 倍。并且在 Python 3.11 版本,实现 Python 速度提高2倍的目标。据悉,Python 3.11 是计划于2022年发布 pre-alpha 版本的 Python 三个分支之一。



今日是2022年1月18日,Python 软件基金会 (PSF) 要兑现承诺,发布了三个新版本的 Python。


Python内核团队坦诚提到在 2022 年的开局并不顺利,但核心团队正在实现 Python 创始人 Guido van Rossum 的目标,版本 3.11 的速度是 3.10 的两倍(总是比前一版本快2倍)。 


Python 3.10、3.9 和预览版 3.11 系列新版本今天已经发布,但还存在许多这样那样的问题,包括“比预期更复杂”的代码签名证书更新。其中,3.10.x 版本是 Python 3 的最新功能发布系列,而 3.9.x 是遗留版本系列,而 Python 3.11.x 是面向未来。  


由于证书续订问题,Python 的这几个新版本(  3.10.2、3.9.1 和 3.11.0a4 )都不包含 Windows 系统的安装程序。尽管它们之间存在明显差距,但 Core Python (CPython) 开发团队决定发布新版本,原因是影响 3.10 及更早版本的严重内存泄漏问题使得“强烈推荐”开发者们安装 3.10.2。         


CPython 内核开发人员和发布经理  Lukasz Langa 这样解释说:“在情况得到解决的过程中,我们整周都在紧锣密鼓地发布,3.10.2 的交付时间表已到,我们在没有 Windows 安装程序的情况下也进行了发布。”


“对于给开发者带来的不便,我们深表歉意,并正在尽一切努力尽快将 Windows 安装程序部署到位。”


CPython 是 Python 的其他变体所基于的 Python 的参考实现。 


“2022 年的前三个版本被诅咒了!通常是一个非常平凡且很大程度上自动化的过程,结果证明是三个独立的曲线球。幸运的是,我们没有让他们把我们击垮,”。 


CPython 开发人员 Ee Durbin 和 Steve Dower 正在解决证书问题,后者是 Microsoft 雇用的 CPython 的 Windows 专家,负责 Windows 安装程序。 


PSF 预告说,Python 证书更新和 Windows 安装程序问题将在本周得到解决。 


当前开发者在使用 Cython 时,Python 3.10 有一个内存泄漏问题发生在某些函数调用上。Cython 是 Python 的超集,其编译器可以更轻松地在 C 代码中编写与 Python 代码交互的扩展。Cython 为 Python 代码提供了更快执行的类 C语言的性能。


“内存泄漏由来自 Cython 代码的某些函数调用中的少量恒定字节码组成,”Langa 解释说。“虽然在大多数情况下这不是很明显,但它对长时间运行的应用程序和某些使用模式有影响。”


CPython 核心开发人员 Pablo Galindo Salgado 指出,内存泄漏对 Cython 的影响相当大,其中一份错误报告指出“__Pyx_PyCFunction_FastCall 的函数调用在 3.10 中会内存泄漏,这很糟糕。” 错误报告表明它正在泄漏数兆字节的内存,因此需要紧急修复该Bug。 



CPython 开发人员确定泄漏在PyEval_EvalFrameEx 中,它由 Cython 而不是 Python 使用,但仅存在于 Python 3.10 及更早版本中,而在 Python 3.11 及更高版本已经不再存在。


下一个 Python 3.10 的升级版本是 3.10.3,计划于 2022 年 4 月 4 日发布。


作者:场长


相关阅读:


一篇文章梳理清楚 Python 多线程与多进程

2022 年 Python 程序员值得学习的 8 种工具

Python的打包神器——Nuitka


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存