diff options
| author | Wladimir J. van der Laan <[email protected]> | 2015-10-06 16:22:03 +0200 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2015-10-06 16:34:23 +0200 |
| commit | b7d78fd0bd244b324ded4131c1dd0ec81a87d15d (patch) | |
| tree | 4f7a368c21fe6fb44ba61aeb2837429cb39ce27b /src/bench/Examples.cpp | |
| parent | Merge pull request #6762 (diff) | |
| parent | Support very-fast-running benchmarks (diff) | |
| download | discoin-b7d78fd0bd244b324ded4131c1dd0ec81a87d15d.tar.xz discoin-b7d78fd0bd244b324ded4131c1dd0ec81a87d15d.zip | |
Merge pull request #6733
7072c54 Support very-fast-running benchmarks (Gavin Andresen)
535ed92 Simple benchmarking framework (Gavin Andresen)
Diffstat (limited to 'src/bench/Examples.cpp')
| -rw-r--r-- | src/bench/Examples.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/bench/Examples.cpp b/src/bench/Examples.cpp new file mode 100644 index 000000000..b6b020a97 --- /dev/null +++ b/src/bench/Examples.cpp @@ -0,0 +1,34 @@ +// Copyright (c) 2015 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#include "bench.h" +#include "main.h" +#include "utiltime.h" + +// Sanity test: this should loop ten times, and +// min/max/average should be close to 100ms. +static void Sleep100ms(benchmark::State& state) +{ + while (state.KeepRunning()) { + MilliSleep(100); + } +} + +BENCHMARK(Sleep100ms); + +// Extremely fast-running benchmark: +#include <math.h> + +volatile double sum = 0.0; // volatile, global so not optimized away + +static void Trig(benchmark::State& state) +{ + double d = 0.01; + while (state.KeepRunning()) { + sum += sin(d); + d += 0.000001; + } +} + +BENCHMARK(Trig); |