Changeset View
Changeset View
Standalone View
Standalone View
src/bench/duplicate_inputs.cpp
Show All 32 Lines | static void DuplicateInputs(benchmark::State &state) { | ||||
const Config &config = GetConfig(); | const Config &config = GetConfig(); | ||||
InitScriptExecutionCache(); | InitScriptExecutionCache(); | ||||
boost::thread_group thread_group; | boost::thread_group thread_group; | ||||
CScheduler scheduler; | CScheduler scheduler; | ||||
const CChainParams &chainparams = config.GetChainParams(); | const CChainParams &chainparams = config.GetChainParams(); | ||||
{ | { | ||||
LOCK(cs_main); | |||||
::pblocktree.reset(new CBlockTreeDB(1 << 20, true)); | ::pblocktree.reset(new CBlockTreeDB(1 << 20, true)); | ||||
::pcoinsdbview.reset(new CCoinsViewDB(1 << 23, true)); | ::pcoinsdbview.reset(new CCoinsViewDB(1 << 23, true)); | ||||
::pcoinsTip.reset(new CCoinsViewCache(pcoinsdbview.get())); | ::pcoinsTip.reset(new CCoinsViewCache(pcoinsdbview.get())); | ||||
} | |||||
{ | |||||
thread_group.create_thread( | thread_group.create_thread( | ||||
std::bind(&CScheduler::serviceQueue, &scheduler)); | std::bind(&CScheduler::serviceQueue, &scheduler)); | ||||
GetMainSignals().RegisterBackgroundSignalScheduler(scheduler); | GetMainSignals().RegisterBackgroundSignalScheduler(scheduler); | ||||
LoadGenesisBlock(chainparams); | LoadGenesisBlock(chainparams); | ||||
CValidationState cvstate; | CValidationState cvstate; | ||||
ActivateBestChain(config, cvstate); | ActivateBestChain(config, cvstate); | ||||
assert(::chainActive.Tip() != nullptr); | assert(::chainActive.Tip() != nullptr); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 53 Lines • Show Last 20 Lines |