社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

Python编程 • 7 月前 • 310 次点击  
来自公众号: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---

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/174891
 
310 次点击