Python 3.14 版本带来了一系列重要更新,包括自由线程(PEP 779)的稳定支持,允许在 CPython 中更灵活地管理线程。多解释器(PEP 734)特性的引入,使得同一进程内可运行多个独立 GIL 的解释器,并提供了 InterpreterPoolExecutor 简化并行管理。官方二进制包实验性集成了即时编译器(JIT,PEP 744),尽管性能表现尚不稳定。此外,新增了模板字符串(t-string,PEP 750)用于创建模板对象,增量式垃圾回收减少了长暂停时间。交互式 Shell 默认支持语法高亮和 import 自动补全,asyncio 也增强了内省能力,可通过命令行检查异步任务树。
🌟 **自由线程(PEP 779)稳定支持**:Python 3.14 标志着自由线程特性在 CPython 中的稳定可用,为并发编程提供了更精细的控制,尽管全局解释器锁(GIL)是否彻底移除仍在讨论中。
🚀 **多解释器(PEP 734)与并行增强**:新版本支持在同一进程中运行多个独立的解释器,每个解释器拥有自己的 GIL。`InterpreterPoolExecutor` 的加入进一步简化了管理这些并行解释器的任务,是 Python 并行编程能力的一次重要飞跃。
💡 **实验性即时编译(JIT)器集成**:macOS 和 Windows 平台的官方二进制发行版现已包含实验性的 JIT 编译器。虽然其性能仍在早期开发阶段,可能带来性能波动,但为未来的性能优化奠定了基础。
📝 **模板字符串(t-string,PEP 750)引入**:此功能作为 f-string 的补充,允许用户以一种类似字符串字面量的方式直接创建字符串模板对象,增加了字符串处理的灵活性。
🧹 **增量式垃圾回收优化**:循环垃圾回收器现已采用增量式处理,这意味着对于大型内存堆,最大暂停(Stop The World)时间将显著缩短,提升了程序的响应性。
✨ **交互式 Shell 体验提升**:Python 3.14 的交互式 Shell 默认开启语法高亮,并增加了对 `import` 语句的自动补全功能,极大地改善了开发者的命令行交互体验。
🔍 **Asyncio 内省能力增强**:用户现在可以使用 `python -m asyncio ` 命令来检查正在运行的异步 Python 程序的任务树,这对于调试和理解复杂的异步应用程序非常有帮助。
重大更新:
自由线程( PEP 779 )特性已稳定支持。之前在 Python 3.13 中,这一特性需要显式指定编译选项。不过,全局解释器锁( GIL )依然是可选的,而是否要彻底移除 GIL 仍在讨论中( PEP 703 );多解释器( PEP 734 )特性已支持。现在,可以在同一个进程中运行多个解释器,每个解释器都有独立的 GIL 。作为 Python 并行编程中减少对 multiprocessing 依赖的又一步,还添加了 InterpreterPoolExecutor 来帮助管理多个解释器的并行;官方发布的 macOS 和 Windows 版二进制现已包含 实验性 的即时编译( JIT )器( PEP 744 )。该 JIT 编译器尚处于早期开发阶段,性能表现存在波动:启用后根据工作负载不同,可能产生 10% 的性能下降至 20% 的性能提升;模板字符串( t-string ,PEP 750 )支持。这一功能主要是对 f-string 的补充,允许从类似字符串字面量的写法直接创建一个字符串模板对象;增量式垃圾回收。循环垃圾回收器现在采用增量式处理。这意味着对于较大的堆内存,最大暂停( Stop The World )时间将减少一个数量级或更多;交互式 Shell 支持语法高亮。除非显式禁用,否则从 Python 3.14 起,Python 交互式环境( RHEL )将默认在终端中渲染代码高亮。此外,Shell 还增加了对 import ___ 的自动补全;asyncio 内省能力。可以使用 python -m asyncio <ps|pstree> <PID> 功能来检查正在运行的异步 Python 程序的 async task 树。
更多可在这里看到: https://docs.python.org/zh-cn/3.14/whatsnew/3.14.html