CPP   19

merkle root cpp

Guest on 6th July 2022 06:34:29 PM

  1. // Copyright (c) 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.  
  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(std::vector<uint256>(leaves), &mutation);
  22.         leaves[mutation] = hash;
  23.     }
  24. }
  25.  
  26. BENCHMARK(MerkleRoot, 800);

Raw Paste


Login or Register to edit or fork this paste. It's free.