比性能优化更难的是去优化:JIT 的隐形安全网拆解
lauriewired · x · 2026-09-23
安全研究员 LaurieWired 发长文科普「去优化(deoptimization)」——现代动态语言敢于激进优化的真正原因。
- JIT(如 V8、HotSpot、WebKit)基于「到目前为止都成立」的假设做优化:某函数最近 300 万次调用都是 "Dog",就大胆假设下一次也是,且检查成本低。
- 这类「脏优化」能成立,关键在于有逃生舱:一旦假设失效,deoptimizer 必须在任意逃生点重建正确的程序状态。
- 这比看上去难得多:优化器可能内联了函数、破坏了栈帧、甚至没分配所需对象,deoptimizer 只能靠有限的元数据还原「程序本该在的位置」,再跳回慢速路径。
- 作者的比喻:我们能开快车是因为有刹车;没有随时减速的能力,平均速度会低得多。
一篇关于语言运行时底层机制的优质科普长文。
「研究」频道最新
- 蓝噪声采样:不降温度也能减少 mode collapse、生成更稳 — amplifiedamp · 2026-09-23
- 论文:RRSI,给智能体递归自我改进加上正则化 — HuaxiuYaoML · 2026-09-23
- 自训光流扩散模型:用帧间流场扭曲生成图实现视频连续性 — pixlpa · 2026-09-23
- Kimi K3 的 KDA 与 Qwen3.8 GDN 对比:逐通道门控让 2D 旋转成为可能 — orvieto_antonio · 2026-09-23
- PrimeScientist 用 MCTS 分配研究预算:奖励多 10.3% 实验少一半 — dair_ai · 2026-09-23
- 开发者复盘 3D 编码 harness:模型变强后脚手架几乎失效 — rms80 · 2026-09-23