每年十月,Python 新版本发布后,总有一批开发者急着想知道“这次到底快了多少”。今年轮到 3.15,一位作者用自己非正式的基准测试,把 3.10 到 3.15 的 CPython、PyPy,以及 Node.js 和 Rust 都拉出来跑了一遍。如果你还在纠结要不要升级,这篇实测能给你一个比较靠谱的参考。

先说结论:Python 3.15 在单线程整数计算上只比 3.14 快了约 3% 到 4%,基本可以忽略;但它的 JIT(即时编译,解释器在运行时把热点代码编译成机器码以加速执行)版本终于发力,在递归 Fibonacci 测试上比标准解释器快了 20%,在冒泡排序测试上快了 28%。这是 JIT 首次在性能上明显超过同版本的标准解释器,相当值得关注。自由线程(Free-threading,即去掉全局解释器锁 GIL 的实验版本)在单线程下没有优势,但在多线程场景可能更有潜力。而 PyPy(一个自带 JIT 的 Python 解释器实现)依旧碾压所有 CPython 版本,在递归测试上达到 5.5 倍速度,在冒泡排序上达到 18 倍,甚至在某些场景超过了 Node.js。Rust 依然是天花板,但差距也在意料之中。

测试方法很直接:两个程序,一个用递归算斐波那契数列(fibo.py),一个用冒泡排序排一万个随机数(bubble.py)。每个程序分别跑单线程和 4 线程版本,共四种组合。所有测试都在同一台 Linux 笔记本(Intel Core i5)上运行,每个测试跑三次取平均。作者明确说这不是全面性能画像,只是感受一下各版本之间的变化趋势。

单线程 fibo(40) 的结果:3.15 用时 6.9361 秒,比 3.14 的 7.1659 秒快约 3%。但看历史,3.11 和 3.14 才是两次显著提速的版本,分别比上代快了 70% 和 23%,3.15 只是小步改进。PyPy 只用 1.2517 秒,Node.js 1.3899 秒,Rust 0.0898 秒。有趣的是,3.15 的 JIT 版本只用了 5.7625 秒,比标准版快 20%,这也是 JIT 第一次在同版本内明显领先。自由线程版耗时 7.0298 秒,和标准版几乎一样。

单线程 bubble(10000) 上的趋势类似:3.15 用时 1.9716 秒,略快于 3.14 的 2.0575 秒。但 3.12 和 3.13 反而有轻微回退。PyPy 0.1073 秒,Node.js 0.0643 秒,Rust 0.0391 秒。JIT 版 1.5435 秒,比标准版快 28%,自由线程版 2.6808 秒,稍慢。作者强调,最让人兴奋的是 JIT 终于不再是摆设,而是能实打实带来性能提升。

多线程的结果在原文后半部分被截断,但结合前文可推断:由于 GIL 优化和自由线程的存在,多线程场景下各版本差异会更大,PyPy 在多线程中依然表现出色。

GitHub
GitHub

到

Facebook
Facebook

这些图在原文中是博客的社交分享和订阅按钮,并不影响技术内容。真正的测试图表从

fibo.py single-threaded results
fibo.py single-threaded results

开始,包括单线程 fibo、JIT/FT 对比、单线程 bubble、多线程 fibo、多线程 bubble 等。

对普通 Python 开发者来说,这篇实测的启示有三点:

最后提醒一点:这个基准只覆盖了递归和纯循环,不涉及 I/O 密集、列表操作、字典访问等日常高频场景。实际项目的性能还要看具体负载,升级前建议用自己项目跑一遍基准测试。

GitHub
GitHub

LinkedIn
LinkedIn

Bluesky
Bluesky

Mastodon
Mastodon

Twitter
Twitter

YouTube
YouTube

Buy Me a Coffee
Buy Me a Coffee

Patreon
Patreon

RSS Feed
RSS Feed

Facebook
Facebook

这些图标是原文页面上的订阅和分享链接,忽略即可。核心数据都在

fibo.py single-threaded results
fibo.py single-threaded results

到

bubble.py multi-threaded results - JIT and free-threading
bubble.py multi-threaded results - JIT and free-threading

的图表中,文中已用表格呈现。

一句话总结:Python 3.15 不是一次性的大跳跃,但 JIT 的成熟让这场升级有了新的理由——尤其是对计算密集型的 Python 代码。如果你还在用 3.12 或更早版本,3.15 绝对值得升级。

阅读原文 → 返回 AI 技术文档

内容与图片版权归原作者所有 · 原文: https://blog.miguelgrinberg.com/post/how-fast-is-python-3-15