函数值作为Google Benchmark中的参数

时间:2019-07-05 17:05:49

标签: c++ benchmarking timing google-benchmark

我正在使用Google Benchmark,但无法设置启动和暂停计时器而不影响基准测试。

我有一个函数get_val(),该函数返回一个随机的uint64_t值,该值应传递给在每次迭代中进行基准测试的函数。最好的方法是什么?

我一直在做的是这个

static void BM_example(benchmark::State& state) {
    uint64_t p;
    for (auto _ : state)
        state.PauseTiming();
        p = get_val();
        state.ResumeTiming();
        measure_me(p);
}

但是状态暂停和恢复正在影响结果。在每次迭代中不影响计时器的情况下,将新的随机uint64_t传递给我的测量函数的最佳方法是什么?

0 个答案:

没有答案