【发布时间】:2023-06-18 12:52:01
【问题描述】:
我使用 google benchmark 来测试两个 C++ 函数。一个运行时间约为 630,000,000 ns,一个运行时间约为 1,000,000,000 ns。但两者都只运行一次迭代。如何强制基准运行更多迭代?我希望它至少运行 10 次。
【问题讨论】:
标签: c++ microbenchmark google-benchmark
我使用 google benchmark 来测试两个 C++ 函数。一个运行时间约为 630,000,000 ns,一个运行时间约为 1,000,000,000 ns。但两者都只运行一次迭代。如何强制基准运行更多迭代?我希望它至少运行 10 次。
【问题讨论】:
标签: c++ microbenchmark google-benchmark
其实可以的
BENCHMARK(YourBenchmark)->Iterations(100); // will run for 100 iterations
请注意,这将运行基准测试准确 100 次。我找不到让它运行至少次的方法
【讨论】:
对于遇到类似问题的人:
没有办法直接控制基准测试的迭代次数。相反,可以使用 benchmark_min_time 间接配置基准运行的迭代次数。一个简单的方法是:
BENCHMARK(YourBenchmark)->MinTime(10); // 10 seconds
【讨论】: