aboutsummaryrefslogtreecommitdiff
path: root/src/bench/rollingbloom.cpp
diff options
context:
space:
mode:
authorMartin Ankerl <Martin.Ankerl@gmail.com>2017-10-17 16:48:02 +0200
committerMartin Ankerl <Martin.Ankerl@gmail.com>2017-12-23 11:03:17 +0100
commit00721e69f8280f8bc59bede43b335ecc347d4fdf (patch)
tree950b08aebdfa195a4f166664dd9934164d2edf59 /src/bench/rollingbloom.cpp
parent604e08c83cf58ca7e7cda2ab284c1ace7bb12977 (diff)
downloadbitcoin-00721e69f8280f8bc59bede43b335ecc347d4fdf.tar.xz
Improved microbenchmarking with multiple features.
* inline performance critical code * Average runtime is specified and used to calculate iterations. * Console: show median of multiple runs * plot: show box plot * filter benchmarks * specify scaling factor * ignore src/test and src/bench in command line check script * number of iterations instead of time * Replaced runtime in BENCHMARK makro number of iterations. * Added -? to bench_bitcoin * Benchmark plotly.js URL, width, height can be customized * Fixed incorrect precision warning
Diffstat (limited to 'src/bench/rollingbloom.cpp')
-rw-r--r--src/bench/rollingbloom.cpp16
1 files changed, 3 insertions, 13 deletions
diff --git a/src/bench/rollingbloom.cpp b/src/bench/rollingbloom.cpp
index 452099b800..031355c06e 100644
--- a/src/bench/rollingbloom.cpp
+++ b/src/bench/rollingbloom.cpp
@@ -12,8 +12,6 @@ static void RollingBloom(benchmark::State& state)
CRollingBloomFilter filter(120000, 0.000001);
std::vector<unsigned char> data(32);
uint32_t count = 0;
- uint32_t nEntriesPerGeneration = (120000 + 1) / 2;
- uint32_t countnow = 0;
uint64_t match = 0;
while (state.KeepRunning()) {
count++;
@@ -21,16 +19,8 @@ static void RollingBloom(benchmark::State& state)
data[1] = count >> 8;
data[2] = count >> 16;
data[3] = count >> 24;
- if (countnow == nEntriesPerGeneration) {
- auto b = benchmark::clock::now();
- filter.insert(data);
- auto total = std::chrono::duration_cast<std::chrono::nanoseconds>(benchmark::clock::now() - b).count();
- std::cout << "RollingBloom-refresh,1," << total << "," << total << "," << total << "\n";
- countnow = 0;
- } else {
- filter.insert(data);
- }
- countnow++;
+ filter.insert(data);
+
data[0] = count >> 24;
data[1] = count >> 16;
data[2] = count >> 8;
@@ -39,4 +29,4 @@ static void RollingBloom(benchmark::State& state)
}
}
-BENCHMARK(RollingBloom);
+BENCHMARK(RollingBloom, 1500 * 1000);