Google Benchmark 的核心用法:
for (auto _ : state) 包裹被测代码
DoNotOptimize 防止编译器优化掉测试
ClobberMemory 防止内存操作被优化
参数化测试:
Arg(N) → 指定单个参数
Range(A, B) → 自动生成几何序列的参数
对比报告:
compare.py before.json after.json
精准看到优化前后的百分比变化
面试价值:
"我的日志库 benchmark 显示比 spdlog 快 10 倍,生产路径延迟 52ns"
有数字支撑的技术决策,比说"我的日志库很快"有说服力得多