为 yk 改造 CPython:不到 450 行代码换来的提速
来源:tratt.net — 2026-11-10
📋 概述
yk 能给 C 解释器自动加上元追踪 JIT。此前它在 yklua 上做到比 PUC Lua 快两倍,但有人质疑这只在小解释器上成立。Laurence Tratt 因此拿 CPython 试水:先花一周半修 yk 的通用 bug,再花三四天改 ykcpython。结果是 AWFY 的 13 个基准里,除 DeltaBlue 慢 2.5% 外全部快过原版 CPython,其中 8 个还快过官方实验性 JIT。
🔑 核心要点
- 改动量约 450 行 ykcpython 代码,外加一周半的 yk 通用修复
- 三档对比:CPython 3.15.1、开启实验 JIT 的 CPython、ykcpython
- Mandelbrot 从 11.66 秒降到 4.20 秒,Richards 从 54.80 降到 33.18;DeltaBlue 是唯一退步
- 方法论:先做最小改动让 trace 被记录并编译,并从第一步就守住语言测试套件
- 作者强调这不是可用产品,基准只是必须跳过的圈
- 所有数据在 64 核 EPYC 7773X 上跑 30 次进程执行后自助法给出 99% 置信区间
💡 金句
跑基准好不代表真实世界表现好,但跑基准差的系统在真实世界几乎一定差。
← 返回 Lobsters 首页
👍 0
👎 0