diff options
author | Pieter Wuille <pieter.wuille@gmail.com> | 2017-09-27 17:36:56 -0700 |
---|---|---|
committer | Pieter Wuille <pieter.wuille@gmail.com> | 2018-05-08 07:44:13 -0700 |
commit | 0df017889b4f61860092e1d54e271092cce55f62 (patch) | |
tree | f28529b1a0095131a8a57c542cf001a0eeb06322 /src/bench | |
parent | 6b824c090f53d0a56833930fd38c41bcaec8ff4a (diff) |
Benchmark Merkle root computation
Diffstat (limited to 'src/bench')
-rw-r--r-- | src/bench/merkle_root.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/bench/merkle_root.cpp b/src/bench/merkle_root.cpp new file mode 100644 index 0000000000..027b19125d --- /dev/null +++ b/src/bench/merkle_root.cpp @@ -0,0 +1,26 @@ +// Copyright (c) 2016 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 "uint256.h" +#include "random.h" +#include "consensus/merkle.h" + +static void MerkleRoot(benchmark::State& state) +{ + FastRandomContext rng(true); + std::vector<uint256> leaves; + leaves.resize(9001); + for (auto& item : leaves) { + item = rng.rand256(); + } + while (state.KeepRunning()) { + bool mutation = false; + uint256 hash = ComputeMerkleRoot(leaves, &mutation); + leaves[mutation] = hash; + } +} + +BENCHMARK(MerkleRoot, 800); |