2026 年 11 月如何给 Rust 编译器提速:Span 压缩与新 trait solver
来源:nnethercote.github.io — 2026-11-04
📋 概述
Nicholas Nethercote 记录了为 Rust 编译器做性能优化的第一个月。核心是重做 Span 的压缩方案:原本四个 32 位字段共 16 字节,多数情况能压进三种 8 字节内联格式,增量编译时的驻留比例从 20–40% 降到约 1%,最优基准的指令数降幅超过 3%。另外针对新的 trait solver 在 Diesel 这类 crate 上做了十几处微优化,把它相对旧 solver 的开销从 1.49 倍压到 1.16 倍。一个月整体平均墙钟时间下降 2.85%,峰值内存下降 4.46%。
🔑 核心要点
- Span 新压缩方案把增量编译的驻留比例从 20–40% 降到约 1%,最好情况下指令数降超 3%。
- 在父 Span 的哈希表前加单条目缓存,最好情况下指令数降超 4%,主要利好增量编译。
- 新 trait solver 在 Diesel 上的开销从 1.49 倍降到 1.16 倍,靠十几处微优化累积而来。
- 2026-09-28 至 11-02 的测量显示 236 个测试变快、仅 4 个变慢,平均墙钟时间下降 2.85%。
💡 金句
从年初至今的 561 项测量里有 560 项是改进,第二差的改进也有 3.10%。
👍 0
👎 0
← 返回 Lobsters 首页