Changeset View
Changeset View
Standalone View
Standalone View
src/bench/rpc_blockchain.cpp
- This file was added.
// Copyright (c) 2016-2019 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::State &state) { | |||||
CDataStream stream(benchmark::data::block413567, SER_NETWORK, | |||||
PROTOCOL_VERSION); | |||||
char a = '\0'; | |||||
// Prevent compaction | |||||
stream.write(&a, 1); | |||||
CBlock block; | |||||
stream >> block; | |||||
CBlockIndex blockindex; | |||||
const auto blockHash = block.GetHash(); | |||||
blockindex.phashBlock = &blockHash; | |||||
blockindex.nBits = 403014710; | |||||
while (state.KeepRunning()) { | |||||
(void)blockToJSON(block, &blockindex, &blockindex, /*verbose*/ true); | |||||
} | |||||
} | |||||
BENCHMARK(BlockToJsonVerbose, 10); |