编程 Python 3.14 发布:自由线程转正,t-string、多解释器与 JIT 落地

2026-09-22 21:03:33

Python 3.14 发布:自由线程转正,t-string、多解释器与 JIT 落地

Python 3.14 于 2025-10-07 发布。官方 What's New 见 docs.python.org/3/whatsnew/3.14.html

语言与运行时

PEP 779:自由线程(free-threaded)Python 得到官方支持,不再是实验性特性。free-threaded 模式(PEP 703)的实现已完整,包括 C API 改动;专精化自适应解释器(PEP 659)在 free-threaded 下启用,单线程性能损失降到约 5–10%,具体取决于平台与 C 编译器。

PEP 649 / PEP 749:注解改为延迟求值。使用注解的语义得到改善,同时降低运行时开销。

PEP 750:模板字符串字面量 t-string。语法类似 f-string,面向自定义字符串处理场景。

PEP 758:exceptexcept* 可省略括号

PEP 765:禁止使用会退出 finally 块的 return / break / continue。这类写法以往会静默吞掉异常,现在直接报错。

PEP 741:改进的配置 Python 的 C API。

标准库与工具链

PEP 734:标准库支持多解释器。新增 concurrent.interpreters 模块与 concurrent.futures.InterpreterPoolExecutor,可在同一进程内运行多个解释器,借此利用多核。

PEP 784:新增 compression.zstd 模块,支持 Zstandard 压缩。

PEP 768:CPython 的零开销外部调试器接口pdb 可以远程附加到运行中的进程。

uuid 支持 v6–v8,v3–v5 与 v8 的生成速度提升 40%。此外还有增量 GC、改进的错误信息、内置 HMAC 实现(来自 HACL*,经形式化验证),以及用于检查运行中带异步任务的 Python 进程的新命令行界面:

python -m asyncio pstree

实验性 JIT 出现在 Windows / macOS 官方二进制中;新增 Android 二进制。

自由线程模式细节

在 Windows 上为 free-threaded 构建编译扩展模块时,预处理器变量 Py_GIL_DISABLED 需由构建后端指定,不再由 C 编译器自动确定;运行时可用 sysconfig.get_config_var() 查询编译时设置。

新增 -X context_aware_warnings 标志,用于控制并发安全的警告控制。free-threaded 构建默认 true,启用 GIL 的构建默认 false

新增 thread_inherit_context 标志:启用后,threading.Thread 创建的线程以 start() 调用者的 Context() 副本启动,使 catch_warnings 建立的警告过滤上下文能被该上下文内启动的线程 / 任务继承;它也影响 decimal 等使用上下文变量的模块。free-threaded 默认 true,GIL 构建默认 false

ctypes 现在支持 free-threading 构建。

asyncio

asyncio 为原生任务实现了新的每线程双向链表,标准基准提升 10–20%,并减少内存占用。对外部内省工具(python -m asyncio pstree)可内省所有线程中运行的任务调用图。对 free-threaded 构建提供一等支持:多个事件循环可在不同线程并行执行,并随线程数线性扩展。

复制全文 生成海报 Python 并发 语言版本 标准库

推荐文章

程序员茄子在线接单