Python官方版本居然开始内置即时编译(即时编译/Just-In-Time)了——这原本是PyPy这类第三方实现的独门绝技。

一图看懂:新架构长什么样

打开网易新闻 查看精彩图片

想象Python执行代码的传统流程:源代码→字节码→解释器逐行咀嚼。3.15版本在中间插了一层「模板编译器」,把热点字节码片段翻译成机器码直接跑。

关键差异在于「模板」机制。不是从头生成机器码,而是预先生成可填充的代码模板,运行时往里塞具体数值。这省掉了编译器启动的沉重开销,让轻量级即时编译成为可能。

性能账怎么算

对比PyPy 7.3.17,CPython的即时编译走了一条截然不同的路。PyPy用追踪即时编译(Tracing JIT),全程替换解释器;Python 3.15则是解释器+即时编译的混合体,默认关闭,需显式开启。

官方测试显示,纯计算密集型任务提速15%-30%,但启动延迟增加约8毫秒。对短脚本不友好,对长时运行的服务有甜头。

谁该现在动手

Web后端和数据分析流水线可以尝鲜,命令行工具和单元测试建议观望。环境变量PYTHON_JIT=1一键开关,回滚零成本。

最讽刺的是:Python之父Guido van Rossum多年前公开反对即时编译,认为复杂度不值得。如今官方团队自己打了脸——只不过这次,他们选择了一种「足够懒」的实现方式。