Google Benchmark 是 C++ 最常用可靠的微基准测试框架,专为精确测量小段代码执行时间设计,自动处理预热、采样、统计与输出;安装推荐 vcpkg 或源码编译,编写需用 benchmark::State& 参数并循环调用 KeepRunning()。

Google Benchmark 是 C++ 里最常用、最可靠的微基准(microbenchmark)测试框架,专为精确测量小段代码的执行时间而设计。它自动处理预热、多次采样、统计分析和结果输出,比手写 std::chrono 循环靠谱得多。
一、安装与基础编译
推荐用 CMake + vcpkg 或直接源码编译:
- vcpkg 安装(推荐新手):
vcpkg install benchmark,然后在 CMakeLists.txt 中find_package(benchmark CONFIG REQUIRED) - 手动编译:从 GitHub 仓库 克隆,运行
cmake -G "Ninja" && ninja && ninja install - 确保链接
benchmark和pthread(Linux/macOS 必须)
二、写一个最简 benchmark
每个测试函数必须接受一个 benchmark::State& 参数,并在循环中调用 state.KeepRunning():
#include <benchmark/benchmark.h>
#include <vector>
static void BM_VectorPushBack(benchmark::State& state) {
for (auto _ : state) {
std::vector<int> v;
for (int i = 0; i < state.range(0); ++i) {
v.push_back(i);
}
}
}
BENCHMARK(BM_VectorPushBack)->Range(1<<10, 1<<16); // 测试 1K ~ 64K 元素
BENCHMARK_MAIN(); // 自动生成 main()
登录后复制
关键点:
立即学习“C++免费学习笔记(深入)”;
标签: c++ 性能测试 linux git go github mac macos google cos red
还木有评论哦,快来抢沙发吧~