X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=folly%2FBenchmark.cpp;h=6259970872fe7ad26370672be7b2d95cb3546359;hb=46e3ed2921bd4e5de81fbc36fcb6a82d30d1499f;hp=dc08f50661dcc630909a4c376f22211d45fb6873;hpb=be60435ff726fa2528e2857d9003e09e53596d86;p=folly.git diff --git a/folly/Benchmark.cpp b/folly/Benchmark.cpp index dc08f506..62599708 100644 --- a/folly/Benchmark.cpp +++ b/folly/Benchmark.cpp @@ -51,7 +51,7 @@ namespace folly { BenchmarkSuspender::NanosecondsSpent BenchmarkSuspender::nsSpent; -typedef function BenchmarkFun; +typedef function BenchmarkFun; static vector> benchmarks; // Add the global baseline @@ -231,13 +231,14 @@ static double runBenchmarkGetNSPerIteration(const BenchmarkFun& fun, for (; actualEpochs < epochs; ++actualEpochs) { for (unsigned int n = FLAGS_bm_min_iters; n < (1UL << 30); n *= 2) { - auto const nsecs = fun(n); - if (nsecs < minNanoseconds) { + auto const nsecsAndIter = fun(n); + if (nsecsAndIter.first < minNanoseconds) { continue; } // We got an accurate enough timing, done. But only save if // smaller than the current result. - epochResults[actualEpochs] = max(0.0, double(nsecs) / n - globalBaseline); + epochResults[actualEpochs] = max(0.0, double(nsecsAndIter.first) / + nsecsAndIter.second - globalBaseline); // Done with the current epoch, we got a meaningful timing. break; }