主要观点:作者分享了对 CPython JIT 的看法,包括做得好的方面和可改进之处,以及社区建设情况等。
关键信息:
- 作者负责 CPython JIT 编译器的优化器,JIT 仍为实验性,可能很快过时。
- 做得好的方面:开始围绕 JIT 建立社区,JIT 具有可教性,有新人加入贡献。
- 可改进之处:性能方面,3.13 的 JIT 比解释器慢或相当,3.14 的 JIT 在某些情况下有速度提升但总体仍不理想,覆盖范围不准确,最初媒体报道有误。
- 社区建设:有 Savannah、Tomáš、Diego 等贡献者,积极吸引人们参与,使 JIT 更易工作。
重要细节: - 开始时 JIT 主要由 Brandt 负责机器码生成器,后作者得到 Mark 和 Guido 帮助,之后作者因学业繁忙,Brandt 成为优化器的唯一贡献者。
- 3.14 的 JIT 在不同编译器下表现不同,用现代编译器如 Clang 20 时 JIT 通常比解释器慢,用旧编译器如 GCC 11 时 JIT 能接近或超过解释器。
- 部分基准测试中 JIT 有显著速度提升(约 20%),也有一些慢降(约 10%),如 richards 快约 20%,nbody 慢约 10%,spectralnorm 慢一些。
- 最初媒体报道 3.13 JIT 比解释器快 2 - 9%有误,实际情况更复杂,有时 JIT 比解释器慢很多,且是与解释器比较而非 tier 2 解释器。
- 作者更正之前关于 3.14 JIT 无主要性能添加的说法,是仅指优化器,机器码生成器有改进,且自己因时间原因错过某些计划的功能。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。