专栏名称: Python编程
人生苦短,我用 Python !关注 Python 编程技术和运用。分享 Python 相关技术文章、开发工具资源、热门信息等。
目录
相关文章推荐
硅星GenAI  ·  AI周榜 | ... ·  23 小时前  
硅星GenAI  ·  AI周榜 | ... ·  23 小时前  
Python中文社区  ·  用Python 和 Streamlit ... ·  3 天前  
Python爱好者社区  ·  这才是最适合新手的python教程,640页超详细 ·  4 天前  
sven_shi  ·  我回答了 @乐把金针度与人 ... ·  4 天前  
51好读  ›  专栏  ›  Python编程

Python正式发布年度大更新3.13.0:实验性支持no-GIL、性能起飞!

Python编程  · 公众号  · Python 科技自媒体  · 2024-10-12 11:33

正文

来自公众号:OSC开源社区
链接:https://www.oschina.net/news/315112/python-3130-final-released
Python 3.13.0 主要变化包括一个新的交互式解释器对在自由线程模式(无全局解释锁,no-GIL)下运行的实验性支持 (PEP 703),以及即时编译器 (PEP 744)。这些改进预计将带来性能的适度提升。
Python 3.13.0 最新稳定版已于 10 月 7 日正式发布,对语言、实现和标准库进行了一系列更改。

据称该版本原定于 10 月 1 日推出,但由于在特定工作负载中出现了“明显”的性能回归问题,最终导致推迟发布。

性能回归问题由此前引入的增量循环垃圾收集器导致,正式版已将该功能回滚,Python 团队将在 Python 3.14 中重新考虑引入该功能。

Python 3.13 带来了两项重大更新:全局解释器锁的可选禁用 (no-GIL) 和实验性的即时编译器 (JIT)
GIL 的移除可提高基于线程的并行处理能力,从而优化多线程程序的性能;JIT 编译器将 Python 代码编译为机器代码,以提高代码执行效率。
这些改进预计会显著提升 Python 代码的性能,尤其是在 CPU 密集型任务上。
下图是开发者针对 Python 3.12 和 3.13 的性能测试对比,可以看到 no-GIL 和 JIT 带来的性能提升。
如上图所示,Python 3.13 在禁用 GIL 的自由线程模式下性能明显优于其他版本,这表明此版本的 Python 能够充分利用计算机上的所有内核。
而启用 JIT 的 Python 3.13 也比 Python 3.12 和常规的 Python 3.13 更快。
按照 Python 开发团队的计划,no-GIL 的实现将分成三个阶段:
  • 实验阶段。通过提供 build-time 选项,让开发者在构建时选择启用自由线程 (free-threaded)。在此阶段对外明确告知是实验性的,不支持用于生产环境。
  • 支持但不默认阶段。该阶段将在 API 和 ABI 变更充分解决,并且有足够的社区支持时开始启动。
  • 默认阶段。此时默认启用自由线程(初期仍支持禁用),但此阶段确切的标准很难确定,目标是使开发者尽可能无缝且无痛地进行升级和兼容。


Python 3.13 其他值得关注的变化:

  • 一个新的交互式解释器 (REPL)

  • iOS 和 Android 被正式纳入 Tier 3 级别的官方支持平台

  • 提供更好的错误信息

  • 改进静态类型

  • 支持的最低 macOS 版本已从 10.9 更改为 10.13 (High Sierra)。且今后将不支持较旧的 macOS 版本

详细更新说明查看官方文档
https://docs.python.org/3.13/whatsnew/3.13.html

相关来源

https://www.python.org/downloads/release/python-3130/

https://realpython.com/python313-new-features/

https://blog.python.org/2024/10/python-3130-final-released.html


---END---