Python 3.13 的 JIT 编译器来了,性能真的提升了吗

Raj Kumar | 2026-09-10T15:11:00 | Python

Python 3.13 引入了实验性的 JIT 编译器,号称能大幅提升执行速度。我跑了一些基准测试,结果有点出乎意料。

Python 性能一直被吐槽,这次 3.13 带来了实验性的 JIT(Just-In-Time)编译器,号称能大幅提升执行速度。作为一个写了 6 年 Python 的人,我赶紧测试了一下。 ## 测试环境 - MacBook Pro M2, 16GB RAM - Python 3.12.5 vs Python 3.13 (with JIT enabled) - 测试项目:数值计算、字符串处理、Web 请求处理 ## 数值计算 ```python # 斐波那契递归 def fib(n): if n < 2: return n return fib(n - 1) + fib(n - 2) fib(35) ``` - Python 3.12: 2.31s - Python 3.13 JIT: 1.89s - **提升: 18%** 还行,但没有想象中那么炸裂。 ## 字符串处理 ```python # 百万行日志解析 for line in lines: parts = line.split('|') timestamp = datetime.strptime(parts[0], '%Y-%m-%d %H:%M:%S') level = parts[1].strip() message = parts[2].strip() ``` - Python 3.12: 4.5s - Python 3.13 JIT: 4.1s - **提升: 9%** 字符串处理的提升不太明显,因为这些操作本身就是 C 层实现的,JIT 能优化的空间不大。 ## Web 请求处理 (FastAPI) 用 wrk 压测一个简单的 JSON 接口: - Python 3.12: 8,200 req/s - Python 3.13 JIT: 8,900 req/s - **提升: 8.5%** Web 场景提升最小,因为大部分时间花在 IO 等待上,CPU 计算只占一小部分。 ## 总结 JIT 带来的提升在 **8-20%** 之间,纯 CPU 计算密集型场景最明显。这个数字跟官方说的 "5-10% average improvement" 基本吻合。 说实话,如果你期待 Python 突然变得跟 Go 一样快,那肯定要失望。但作为一个免费的升级(只要更新 Python 版本),8-20% 的提升还是值得的。 更重要的是,JIT 在 3.13 还是实验性的,后续版本会继续优化。这是 Python 性能进化的第一步,不是终点。对于性能敏感的 Python 项目,现在更务实的选择还是用 Cython、Numba 或者干脆用 Rust 写性能关键的模块。

← Back to Blog