
说到 Python, 性能基本上就是很难绕开的话题,由于 Python 是动态语言,依靠解释运行,而不是像 C++, Rust 这样的静态语言需要编译后运行,所以性能上天然就有劣势。
这个时候可能会有一些小伙伴说: Python 本身就是一个胶水语言,作为一个胶水语言,性能本身就不是 Python 的重点, 简洁的语法,生态, 灵活性才是 Python 最重要的东西。
话是这么说,但是作为一个用 Python 写了很多年开发的程序员,你说不想让 Python 有更强的性能那肯定是假的,而且虽然 Python 是动态语言,解释器这种运行方式天然就没法做到高性能,但是这也不代表这个问题没有解法。
那就是 JIT(Just-In-Time,即时编译), JIT 通俗来讲,就是程序运行时发现某段代码被反复执行,便将其动态编译成 CPU 可以直接执行的机器码,后续再次执行时就能跳过解释步骤,从而达到大幅提升性能的目的。
隔壁的 Java 虽然最后也是 JVM 解释运行的,但是早在 1997 年的 Java 1.1 版本,Java 就已经引入了 JIT 编译器用于提升性能。
这个时候又有人要说了,Java 是静态类型的语言,天然 JIT 就好做,但是对于 Python 这样的动态类型的编程语言来说,比如 x + y 这行代码,由于 x 和 y 在运行前根本不知道是整数、字符串还是别的类型,JIT 编译时很难生成高效的机器码,因为随时可能变。所以 Python 的 JIT 和 Java 的 JIT 实现难度不是一个量级。
这么说也有道理,但是 Javascript 也是动态类型语言,也依赖解释器运行,2008 年 9 月,Google 在 Chrome 首次发布的时候就内置了 V8 引擎,V8 引擎的出现直接把 JS 的性能提升了一个量级。V8 引擎内置的 JIT 可以在运行过程中实时将热点代码编译成本地机器码直接执行,跳过解释步骤,从而大幅提升 JS 的性能。这在当时是非常激进的设计,但是 V8引擎的成功也侧面印证了对于动态类型的编程语言引入 JIT 提升性能也并非不可能。
而 Python 从 1991 年诞生到现在,已经有 35 年的时间了,而 JIT 也喊了 20 年了,却迟迟没有实装到 Python 上。
2026 年 3 月份,Python 社区发布了一篇文章 《Python 3.15's JIT is now back on track》,宣告 Python JIT 在 Python 3.15 版本重回正轨。在 Python3.15 的测试版中,JIT 在 macOS AArch64 上已比 tail calling 解释器快约 11–12%. 虽然不是量级上的性能提升,但也算是开了个好头。
Python 终于拥有了自己的"官方" JIT 编译器——但这条路走了整整二十年。 从 2002 年第一个实验项目 Psyco 诞生,到 2024 年 CPython 3.13 正式引入 copy-and-patch JIT,再到 2026 年 3.15 版本首次实现有意义的性能提升,Python 社区经历了至少七个重要 JIT 方案的兴衰,再加上社区的 PyPy。
可以说,Python 并非不想要引入 JIT 提升性能,只是这一切,对于 Python 而言实在是太难了。
Python 不像 Javascript 有谷歌这样的顶级研发团队,花大量成本重金研发 V8 引擎,也不像 Java 这样背后有甲骨文的这样的靠山。Python 基金会作为一个非营利组织,一直以来都靠社区成员为爱发电维系,整个 Python 软件基金会只有 14 名全职员工维持运转,甚至 2024 年因为财务困难不得不暂停了很多活动。
2025 年 5 月,一个戏剧的事件发生更让 Python JIT 提案雪上加霜,微软在这一年正式裁掉了 Faster CPython 团队,Mark Shannon、Eric Snow 等核心成员被裁。Python JIT 仅有的赞助也没有了。
好在 Python 社区的韧性足够强大,最终社区接管了这个项目,从 2002 年第一个实验项目 Psyco,Python 核心开发者 Brandt Bucher 在 2023 年圣诞节提交了基于"copy-and-patch"技术的 JIT 实现,从实验到真的确定路线,Python 整整走了 20 年,也许一个小小的 JIT 对 Java 或者 谷歌来说不过小事一桩,但是对于全靠为爱发电一路艰难前行的 Python 而言,走到这一步已经实属不易。
截至 2026 年 3 月,Python 3.15 的 JIT 已超额完成目标:在 macOS ARM 平台上比解释器快 11%—12%,x86-64 Linux 上快 5%—6%。预计到明年的 Python 3.16 版本,JIT 的引入可以实现大概 10% 的性能提升,并真正去除 GIL 锁,带来真正的多核并行,性能得到显著改善。
而目前再做这件事的有多少人呢?答案是, 目前 Python JIT 团队仅仅只有 4 个活跃贡献者。这其中还有一个是志愿者。
从 Python 3.10 - 3.15,CPython 累计提速超过 50%,Python 其实一直没有放弃提升性能,只是更多的是心有余而力不足。但是 Python 社区也恰恰为我们证明:
—伟大的事业,不一定需要巨头的庇护,不一定需要充裕的资金,甚至不需要多少人。它只需要几个不肯放弃的人,在漫长的岁月里,一行一行地写下去。
以上就是“20 年、7 次方案, Python JIT 终于步入正轨, 这次性能真要追上 Java 了?”的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。
扫码二维码 获取免费视频学习资料

- 本文固定链接: http://www.phpxs.com/post/14055/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料