BSHA3  0.17.99
P2P Blockchain, based on Bitcoin
rollingbloom.cpp
Go to the documentation of this file.
1 // Copyright (c) 2016-2018 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 <iostream>
6 
7 #include <bench/bench.h>
8 #include <bloom.h>
9 
10 static void RollingBloom(benchmark::State& state)
11 {
12  CRollingBloomFilter filter(120000, 0.000001);
13  std::vector<unsigned char> data(32);
14  uint32_t count = 0;
15  while (state.KeepRunning()) {
16  count++;
17  data[0] = count;
18  data[1] = count >> 8;
19  data[2] = count >> 16;
20  data[3] = count >> 24;
21  filter.insert(data);
22 
23  data[0] = count >> 24;
24  data[1] = count >> 16;
25  data[2] = count >> 8;
26  data[3] = count;
27  filter.contains(data);
28  }
29 }
30 
31 BENCHMARK(RollingBloom, 1500 * 1000);
BENCHMARK(RollingBloom, 1500 *1000)
bool KeepRunning()
Definition: bench.h:70
RollingBloomFilter is a probabilistic "keep track of most recently inserted" set. ...
Definition: bloom.h:115
isminefilter filter
Definition: rpcwallet.cpp:1011