google/benchmark

Fail when calculating complexity

Open

#410 opened on Jun 30, 2017

View on 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
 (Avg merge 4d 2h) (19 merged PRs in 30d)

Description

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?

Contributor guide