Python 3.14 及其新的 JIT 编译器

技术概述和一些基准Python 3.14 及其新的 JIT 编译器首先出现在 Towards Data Science 上。

来源:走向数据科学

标志着世界上最流行的编程语言发展过程中的一个重要点。虽然 Python 长期以来因其可读性和庞大的生态系统而闻名,但其执行速度却常常是“房间里的大象”。

随着 3.14 的到来,CPython 核心开发团队交付的不是一项,而是两项近期最受期待的功能。

GIL 的结尾

我之前写过这个。如果您需要的话,现在 Python 中提供了真正的并发性。如果您想了解有关无 GIL Python 的更多详细信息,我将在最后留下我的文章的链接。

即时 (JIT) 编译器

这个实验性功能现在直接捆绑在官方安装程序中,这也是我们将在这里重点关注的内容。这是 Python 核心团队和其他人多年来进行架构准备的结果,旨在使 Python“默认更快”,同时又不破坏为从数据科学到 Web 后端的一切提供支持的 C 扩展生态系统。

在本文中,我们将揭开新 JIT 的面纱,探讨它与以前的优化工作有何不同,并介绍一些基准测试方法,以帮助您决定是否是时候在工作负载上尝试 JIT。

什么是 Python 的新即时 (JIT) 编译器?

要理解 3.14 JIT,我们需要了解 Python 传统上如何运行。标准 Python (CPython) 是一种解释性语言。当您运行脚本时,您的代码将被编译为字节码,这是 CPython 虚拟机执行的一组指令。

JIT 改变了这个流程。 JIT 不是简单地逐行解释字节码,而是监视代码的哪些部分执行最频繁(“热”路径)。当函数或循环被视为“热”时,JIT 会将字节码转换为本机机器代码(CPU 理解的指令)。然后,下次调用该代码时,无需解释。相反,它只是按原样运行。这可以极大地节省时间,我们稍后会看到。

启用 JIT