Fabcoin Core  0.16.2
P2P Digital Currency
Examples.cpp
Go to the documentation of this file.
1 // Copyright (c) 2015-2017 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #include <bench/bench.h>
6 #include <validation.h>
7 #include <utiltime.h>
8 
9 // Sanity test: this should loop ten times, and
10 // min/max/average should be close to 100ms.
11 static void Sleep100ms(benchmark::State& state)
12 {
13  while (state.KeepRunning()) {
14  MilliSleep(100);
15  }
16 }
17 
18 BENCHMARK(Sleep100ms, 10);
19 
20 // Extremely fast-running benchmark:
21 #include <math.h>
22 
23 volatile double sum = 0.0; // volatile, global so not optimized away
24 
25 static void Trig(benchmark::State& state)
26 {
27  double d = 0.01;
28  while (state.KeepRunning()) {
29  sum += sin(d);
30  d += 0.000001;
31  }
32 }
33 
34 BENCHMARK(Trig, 12 * 1000 * 1000);
void MilliSleep(int64_t n)
Definition: utiltime.cpp:60
bool KeepRunning()
Definition: bench.h:70
volatile double sum
Definition: Examples.cpp:23
BENCHMARK(Sleep100ms, 10)
#define d(i)
Definition: sha.cpp:732