谷歌基准测试,而vs

时间:2017-12-12 13:05:55

标签: c++

我不确定如何正确使用Google Benchmark。

GitHub-Documentation状态中的示例使用以下语法:

for( auto _ : state)
{
  // code to be benchmarked
}

但互联网上的大多数examples都显示了以下语法:

while( state.KeepRunning() )
{
  // code to be benchmarked
}

我使用这两种方法来比较它们,它们显示出略有不同的测量结果。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

  

但互联网上的大多数例子都显示了以下语法:

这是因为大多数示例都是在过去编写的,而替代的ranged-for语法是一个非常新的功能:https://github.com/google/benchmark/pull/454(大约2个月)。

  

我使用这两种方法来比较它们,它们显示出略有不同的测量结果。

     

有什么建议吗?

他们是做同样事情的两种替代方式。考虑轻微不同的测量是否重要。如果没有,那么它不会影响你使用的。如果它很重要,那么您可以得出结论,基准测试代码非常有效。使用产生一致较低测量值的那个,因为该循环具有较小的开销。