c++ Google Benchmark框架怎么用_c++微基准性能测试【教程】

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

c++ Google Benchmark框架怎么用_c++微基准性能测试【教程】-第1张图片-佛山资讯网

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
  • 确保链接 benchmarkpthread(Linux/macOS 必须)

二、写一个最简 benchmark

每个测试函数必须接受一个 benchmark::State& 参数,并在循环中调用 state.KeepRunning()

#include <benchmark/benchmark.h>
#include <vector>

static void BM_VectorPushBack(benchmark::State&amp; 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

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~