Summary:
We are using `bm_max_iters` in folly and other part of the code in fbcode but it didn't really exist in Benchmark.cpp. For example: https://github.com/facebook/folly/blob/master/folly/test/function_benchmark/main.cpp#L29
This patch adds back this functionality.
This diff depends on
D3990600.
Reviewed By: yfeldblum
Differential Revision:
D3989499
fbshipit-source-id:
d2303b2bebb196e84a592d54a72af68171971491
1,
"Minimum # of iterations we'll try for each benchmark.");
+DEFINE_int64(
+ bm_max_iters,
+ 1L << 30L,
+ "Maximum # of iterations we'll try for each benchmark.");
+
DEFINE_int32(
bm_max_secs,
1,
size_t actualEpochs = 0;
for (; actualEpochs < epochs; ++actualEpochs) {
- for (unsigned int n = FLAGS_bm_min_iters; n < (1UL << 30); n *= 2) {
+ const auto maxIters = FLAGS_bm_max_iters;
+ for (unsigned int n = FLAGS_bm_min_iters; n < maxIters; n *= 2) {
auto const nsecsAndIter = fun(n);
if (nsecsAndIter.first < minNanoseconds) {
continue;