File tree Expand file tree Collapse file tree 2 files changed +27
-0
lines changed Expand file tree Collapse file tree 2 files changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -21,6 +21,7 @@ bench_bench_bitcoin_SOURCES = \
21
21
bench/rollingbloom.cpp \
22
22
bench/crypto_hash.cpp \
23
23
bench/ccoins_caching.cpp \
24
+ bench/merkle_root.cpp \
24
25
bench/mempool_eviction.cpp \
25
26
bench/verify_script.cpp \
26
27
bench/base58.cpp \
Original file line number Diff line number Diff line change
1
+ // Copyright (c) 2016 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.h"
6
+
7
+ #include " uint256.h"
8
+ #include " random.h"
9
+ #include " consensus/merkle.h"
10
+
11
+ static void MerkleRoot (benchmark::State& state)
12
+ {
13
+ FastRandomContext rng (true );
14
+ std::vector<uint256> leaves;
15
+ leaves.resize (9001 );
16
+ for (auto & item : leaves) {
17
+ item = rng.rand256 ();
18
+ }
19
+ while (state.KeepRunning ()) {
20
+ bool mutation = false ;
21
+ uint256 hash = ComputeMerkleRoot (leaves, &mutation);
22
+ leaves[mutation] = hash;
23
+ }
24
+ }
25
+
26
+ BENCHMARK (MerkleRoot, 800 );
You can’t perform that action at this time.
0 commit comments