【问题标题】:How to force google benchmark to run multiple iterations?如何强制谷歌基准运行多次迭代?
【发布时间】:2021-01-16 21:04:03
【问题描述】:

我使用 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-23
      • 2021-04-27
      • 2023-04-03
      • 2011-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-23
      相关资源
      最近更新 更多