17611538698
info@21cto.com

Python 3.15 首个 Beta 版发布,功能开发将暂停

编程语言 0 15 11小时前

导读:Python 3.15测试版本发布,来看看有什么新鲜的。

刚刚,Python 团队发布了 3.15 版本的第一个 Beta 版。

这一版本新增功能包括:为自由线程 CPython 提供稳定的应用程序二进制接口 (ABI)、延迟导入以加快启动速度、新的零开销采样分析器、默认使用 UTF-8 文本编码以及更加快速的即时 (JIT) 编译器。

图片

Python 的开发周期规定,在第一个 beta 版本发布后,便不会再添加新功能。

通常情况下,每年 10 月会发布一个新功能版本,目前 3.15 正式版本将计划于2026 年 10 月 1 日发布。

Python 3.14 中新增的移除全局解释器锁 (GIL) 的选项是 Python 多年来最大的变革,它使得在多核 CPU 上实现高效并发成为可能。新的稳定版 ABI 意味着 C 扩展现在可以编译成多个自由线程版本的小版本,但团队也提醒 ,这样做意味着只有部分完整的 CPython API 可用。现有的稳定版 ABI 仍然可用,并且可以同时编译成两个版本。扩展维护者将从中受益,因为为每个 Python 小版本都构建新版本是一项繁重的任务。 

显式延迟导入可以通过延迟加载模块,直到首次访问该模块时才加载,从而缩短 Python 应用程序的启动时间。否则,导入的模块会立即加载并编译成字节码——尽管开发者可以使用一些变通方法,但这会牺牲代码的可读性。解决此问题的方案是引入一个新的关键字:lazy import json。

导入类型
语法示例
行为说明
模块级延迟导入
lazy import json
创建 json 绑定,直到首次访问 json 时才加载模块
特定名称延迟导入
lazy from json import dumps
仅导入 dumps 名称,首次使用 dumps 时加载 json 模块

表1 PYTHON 延迟导入语法对照


一种名为 Tachyon 的新型采样分析器通过捕获运行进程的堆栈跟踪信息来工作,而不是对函数调用进行插桩。根据文档,这种方法“几乎没有任何开销,同时还能实现高达 1,000,000 Hz 的采样率”,可用于调试生产环境中的性能问题。

Python 3.15 中的文本编码已经默认为 UTF-8,但为了获得最佳兼容性,仍然建议显式编码。

CPython 是 Python 的参考实现,提升其性能一直是开发团队的重点。3.14 版本引入了一个实验性的 JIT 编译器,但并不建议在生产环境中使用,因为它可能会导致代码运行速度变慢

在 3.15 版本中,JIT 编译器得到了显著改进,团队报告称,在 x86-64 Linux 系统上,CPython 的平均性能比 CPython 解释器提升了 8-9%,在 macOS 系统上提升了 12-13%,但部分代码的运行速度可能仍然会降低 15%。这些数据在最终版本发布前可能会有所变化。

相比之下,Python 3.14 版本中引入的增量式垃圾回收器在被报告存在内存泄漏问题后已被撤销。该回收器旨在通过减少内存回收频率来提升性能。它在 Python 3.14.5 版本中被移除,核心团队声明: 

“如果我们想在 3.16 版本中重新引入增量 GC,它可以走常规的 PEP 流程,并接受更彻底的评估。”

3.15 Beta 版本新增功能的完整列表,各位请参见:

https://docs.python.org/3.15/whatsnew/3.15.html

作者:场长

评论

我要赞赏作者

请扫描二维码,使用微信支付哦。

分享到微信