HeadlinesBriefing HeadlinesBriefing.com

Python 3.15 JIT 与 3.14 基准对比

Towards Data Science •
×

作者在 Python 3.14 和 3.15 上重新运行了早前测试中的三项 Python 基准,并在每个版本中分别开启和关闭 JIT 编译器。在早前的测试中,3.14 的 JIT 使 Mandelbrot 计算提速约 25%,Levenshtein 距离计算提速 27%,而 Dijkstra 图搜索则没有任何改进。

Python 3.15 对 JIT 进行了大幅重构。3.14 版本会预测可能的代码路径,而 3.15 则采用全新的追踪前端,记录程序实际执行的路径。优化器还新增了基本的寄存器分配、更多的常量传播,并减少了引用计数操作。x86-64 和 AArch64 的代码生成也有改进,生成的机器码占用内存更少。

对全部四种配置(3.14 和 3.15,各自开启和关闭 JIT)进行测试,可以将 3.15 解释器的变化与其 JIT 的影响区分开来。这一点很重要,因为直接比较 3.14 与 3.15 可能会产生误导。3.15 解释器还包括 JIT 之外的改动,例如官方 64 位 Windows 构建所用解释器的一项变更。

Python 发布团队报告称,在其 x86-64 Linux 基准测试套件上,相比标准解释器,几何平均性能提升 7% 至 8%;在 AArch64 macOS 上提升 11% 至 12%。LLVM 21 仅在构建时需要,因此使用官方二进制文件的用户无需自行安装。

作者的复跑结果显示,更强的 JIT 对这三项工作负载的提升更为明显,但它仍无法使所有程序受益,尤其是那些大部分时间用于分配对象以及调用其他地方实现的操作的代码。

来源: Towards Data Science · 由HeadlinesBriefing整理摘要