我正在使用Google Benchmark对库进行基准测试。我的基准设置如下:
for (auto _ : state) {
run_function(first, last, v);
}
我想要的是v
每次迭代都随机生成,这样我就可以获得一系列基准值并从中获取统计信息。我可以通过以下方式做到这一点:
std::random_device rand_dev;
std::mt19937 generator(rand_dev());
std::uniform_int_distribution<int> distr(min, max);
for (auto _ : state) {
v = distr(generator)
run_function(first, last, v);
}
我正在测试的一些功能在 10-100ns 的数量级上,因此添加生成器对结果有显着影响。有没有办法告诉 Google Bench 跳过一行/代码块?