projects
/
folly.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
made toAppendDelim better
[folly.git]
/
folly
/
Benchmark.cpp
diff --git
a/folly/Benchmark.cpp
b/folly/Benchmark.cpp
index dc08f50661dcc630909a4c376f22211d45fb6873..6259970872fe7ad26370672be7b2d95cb3546359 100644
(file)
--- a/
folly/Benchmark.cpp
+++ b/
folly/Benchmark.cpp
@@
-51,7
+51,7
@@
namespace folly {
BenchmarkSuspender::NanosecondsSpent BenchmarkSuspender::nsSpent;
BenchmarkSuspender::NanosecondsSpent BenchmarkSuspender::nsSpent;
-typedef function<
uint64_t
(unsigned int)> BenchmarkFun;
+typedef function<
detail::TimeIterPair
(unsigned int)> BenchmarkFun;
static vector<tuple<const char*, const char*, BenchmarkFun>> benchmarks;
// Add the global baseline
static vector<tuple<const char*, const char*, BenchmarkFun>> 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) {
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 nsecs
AndIter
= fun(n);
+ if (nsecs
AndIter.first
< minNanoseconds) {
continue;
}
// We got an accurate enough timing, done. But only save if
// smaller than the current result.
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;
}
// Done with the current epoch, we got a meaningful timing.
break;
}