google/benchmark

Fail when calculating complexity

Open

#410 opened on 2017年6月30日

GitHub で見る
 (3 comments) (0 reactions) (0 assignees)C++ (1,539 forks)batch import
enhancementgood first issuehelp wanted

Repository metrics

Stars
 (7,968 stars)
PR merge metrics
 (平均マージ 4d 2h) (30d で 19 merged PRs)

説明

When calculating time complexity and the range includes 0 it fails upon evaluation.

void BM_Example(benchmark::State& state)
{
  while (state.KeepRunning())
  {
    int i = state.range(0);
  }
  state.SetComplexityN(state.range(0));
}

BENCHMARK(BM_JumpTable)->RangeMultiplier(2)->Range(0, 1)->Complexity(benchmark::o1);

Result

F:\cruft\benchmark\src\complexity.cc:270: benchmark::ComputeBigO: Check (run.complexity_n) > (0)' Failed. Did you forget to call SetComplexityN?

コントリビューターガイド