git / moonbite-core / src/bench/rpc_blockchain.cpp · raw
// Copyright (c) 2016-2020 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 <bench/data.h>#include <rpc/blockchain.h>#include <streams.h>#include <validation.h>#include <univalue.h>static void BlockToJsonVerbose(benchmark::Bench& bench){ CDataStream stream(benchmark::data::block413567, SER_NETWORK, PROTOCOL_VERSION); char a = '\0'; stream.write(&a, 1); // Prevent compaction CBlock block; stream >> block; CBlockIndex blockindex; const uint256 blockHash = block.GetHash(); blockindex.phashBlock = &blockHash; blockindex.nBits = 403014710; bench.run([&] { (void)blockToJSON(block, &blockindex, &blockindex, /*verbose*/ true); });}BENCHMARK(BlockToJsonVerbose);