导读:新的Python版本包含 JIT 编译器,但属于实验性质,有可能会降低性能。
10月9日,Python 团队发布了 3.14 版本。其中包含许多新功能,包括免费线程支持、使用并发解释器的能力、改进的调试器支持以及可选的新解释器,可将性能提高 3% 到 5%。
Python 中的自由线程功能(可禁用全局解释器锁 (GIL)),现已成为PEP(Python 增强提案:https://peps.python.org/pep-0703)703的完整实现,这一备受期待的功能使 Python 的并发编程变得自然流畅。
自由线程模式还支持一个专门的自适应解释器。它最初是微软的马克·香农(Mark Shannon)领导的 Faster CPython 项目的一部分。但是微软已于 5 月停止了对它的支持)。
默认状态下不安装免费线程支持
话虽然这样说,但我们对自由线程 Python 的处理方式仍然持谨慎态度。最大的问题是可能造成现有代码会崩溃,尤其是在使用 C API 时,因为它是应用程序二进制接口 (ABI),两者不兼容;第二个问题是,使用自由线程解释器时,单线程代码的运行速度会降低 5% 到 10%。
因此在当前的版本,虽然现在完全支持自由线程 Python,但是自由线程解释器并非默认安装。在 Mac 上,安装程序要求将其选择为自定义安装;在 Windows 上,用户需要使用 Windows 应用商店中新的预览版 Python 安装管理器来添加自由线程安装:
py install 3.14t
安装完成后,需要使用诸如python3.14t的命令指定自由线程构建,否则仍将运行单线程进行构建。
题图:新的预览版安装管理器已经在 Windows 应用商店中推出
我们总结了Python 3.14 中的一些优点,包括如下特性:
它很酷:与 f 字符串不同,t 字符串返回一个模板对象,使库能够定义自定义解析(例如,安全的 SQL 查询)。
比如以下用例:为金融机器人构建安全的查询构建器。
from string import Template
t=t'SELECT * FROM stocks WHERE ticker = fticker}"
result = t.substitute(ticker="AAPL") # Custom engine can sanitize inputsprint(result)
JIT 编译器听起来确实令人兴奋,但它并不推荐在生产环境中使用,而且在某些情况下实际上会降低性能,并且与某些调试器配合不佳。
自由线程 Python 构建目前暂时不支持 JIT 编译器。
关于Python 3.14 中新功能的完整详细信息,请各位开发者参阅发行说明~
https://docs.python.org/3/whatsnew/3.14.html
作者:洛逸
本篇文章为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。
请扫描二维码,使用微信支付哦。