Go 的 PGO 实测:训练对应文档最高 +4.7%,约 3% 的免费提速
来源:lemire.me — 2026-08-09
📋 概述
Daniel Lemire 用三个 JSON 文档(twitter.json、canada.json、citm_catalog.json)实测 Go 的 Profile-guided optimization(PGO)。流程是普通构建收集 CPU profile,再用 -pgo 重新构建,每个文档各自训练后再对三个文档交叉测量。结果显示收益温和:最佳情况 canada.json 达 +4.7%,多数在 2-3% 区间;用 twitter.json 训练对所有文档都有稳定改善,而 canada.json 只对自己有效,citm_catalog.json 甚至只给自己 +0.8% 却反而帮了 twitter。他总结约 3% 的提速近乎免费,且 Go 优化本身温和,因而不易对其他负载造成回退。
🔑 核心要点
- 实测三个 JSON 解析文档,PGO 收益温和:最佳为 canada.json 的 +4.7%,多数在 2-3%。
- 用 twitter.json 训练对所有文档都有稳定改善(+3.1%/+2.0%/+2.8%),泛化最好。
- canada.json 只给自己带来 4.7%,对其他文档几乎无益。
- citm_catalog.json 只给自己 +0.8%,却意外更帮 twitter.json。
- 约 3% 的提速近乎免费;因 Go 优化本身温和,不太会回退其他负载。
💡 金句
3% 的提速单独看微不足道,但它可能几乎不用你付任何代价。
👍 0
👎 0
← 返回 Lobsters 首页