【问题标题】:How to force google benchmark to run multiple iterations?如何强制谷歌基准运行多次迭代?
【发布时间】:2023-06-18 12:52:01
【问题描述】:

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

【问题讨论】:

    标签: c++ microbenchmark google-benchmark


    【解决方案1】:

    其实可以的

    BENCHMARK(YourBenchmark)->Iterations(100); // will run for 100 iterations
    

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

    【讨论】:

    • 不敢相信我错过了这个。也许我正在阅读一个较旧的文件?很高兴知道这一点,谢谢!
    • 我认为这应该是公认的答案。
    【解决方案2】:

    对于遇到类似问题的人:

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

    BENCHMARK(YourBenchmark)->MinTime(10); // 10 seconds
    

    【讨论】:

      最近更新 更多