git / moonbite-core / src/bench/hashpadding.cpp · raw
// Copyright (c) 2015-2018 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/bench.h>#include <hash.h>#include <random.h>#include <uint256.h>static void PrePadded(benchmark::Bench& bench){ CSHA256 hasher; // Setup the salted hasher uint256 nonce = GetRandHash(); hasher.Write(nonce.begin(), 32); hasher.Write(nonce.begin(), 32); uint256 data = GetRandHash(); bench.run([&] { unsigned char out[32]; CSHA256 h = hasher; h.Write(data.begin(), 32); h.Finalize(out); });}BENCHMARK(PrePadded);static void RegularPadded(benchmark::Bench& bench){ CSHA256 hasher; // Setup the salted hasher uint256 nonce = GetRandHash(); uint256 data = GetRandHash(); bench.run([&] { unsigned char out[32]; CSHA256 h = hasher; h.Write(nonce.begin(), 32); h.Write(data.begin(), 32); h.Finalize(out); });}BENCHMARK(RegularPadded);