问题描述
我使用谷歌基准测试来测试两个 C++ 函数。一个运行约 630,000,000 ns,一个运行约 1,000 ns。但两者都只运行一次迭代。如何强制基准测试运行更多迭代?我希望它至少运行 10 次。
解决方法
其实可以的
BENCHMARK(YourBenchmark)->Iterations(100); // will run for 100 iterations
请注意,这将恰好运行基准测试 100 次。我找不到让它运行至少多次
的方法 ,对于那些遇到类似问题的人:
无法直接控制基准测试的迭代次数。相反,可以使用 benchmark_min_time 间接配置基准测试运行的迭代次数。一个简单的方法是:
BENCHMARK(YourBenchmark)->MinTime(10); // 10 seconds