如何强制谷歌基准测试运行多次迭代?

Har*_*per 2 c++ microbenchmark google-benchmark

我使用 google benchmark 来测试两个 C++ 函数。一个运行约 630,000,000 ns,另一个运行约 1,000,000,000 ns。但两者都只运行一次迭代。如何强制基准测试运行更多迭代?我希望它至少运行 10 次。

McL*_*ary 7

你实际上可以这样做

BENCHMARK(YourBenchmark)->Iterations(100); // will run for 100 iterations
Run Code Online (Sandbox Code Playgroud)

请注意,这将恰好运行基准测试100 次。我找不到让它运行至少多次的方法


Har*_*per 5

对于遇到类似问题的人:

无法直接控制基准测试的迭代次数。相反,可以使用 benchmark_min_time 来间接配置基准测试运行的迭代次数。一个简单的方法是:

BENCHMARK(YourBenchmark)->MinTime(10); // 10 seconds
Run Code Online (Sandbox Code Playgroud)