Merge #18759: bench: Start nodes with -nodebuglogfile

fabe44e8154a6068d6cba91ec30f00345ed7b275 bench: Start nodes with -nodebuglogfile (MarcoFalke)

Pull request description:

  For benchmarking we don't want to depend on the speed of the disk or the amount of debug logging

ACKs for top commit:
  fanquake:
    ACK fabe44e8154a6068d6cba91ec30f00345ed7b275 - This makes some of these benchmarks significantly faster to run. MempoolEviction total runtime is down from ~46s to 11s on my machine:

Tree-SHA512: d99700901650325896b9115d20b84a27042152f46266f595bf7ea1414528c0b346f4e707a12ee8b8ba99c35cf155e645e67971c1b2a679c4e609c400ff8b08ae
This commit is contained in:
MarcoFalke 2020-04-29 08:30:06 -04:00 committed by PastaPastaPasta
parent 26211cc22f
commit fa9e34c2e1
4 changed files with 31 additions and 7 deletions

View File

@ -17,7 +17,13 @@
static void AssembleBlock(benchmark::Bench& bench)
{
RegTestingSetup test_setup;
TestingSetup test_setup{
CBaseChainParams::REGTEST,
/* extra_args */ {
"-nodebuglogfile",
"-nodebug",
},
};
const CScript redeemScript = CScript() << OP_DROP << OP_TRUE;
const CScript SCRIPT_PUB =
CScript() << OP_HASH160 << ToByteVector(CScriptID(redeemScript))

View File

@ -15,7 +15,13 @@
static void DuplicateInputs(benchmark::Bench& bench)
{
RegTestingSetup test_setup;
TestingSetup test_setup{
CBaseChainParams::REGTEST,
/* extra_args */ {
"-nodebuglogfile",
"-nodebug",
},
};
const CScript SCRIPT_PUB{CScript(OP_TRUE)};

View File

@ -16,8 +16,8 @@ static void AddTx(const CTransactionRef& tx, const CAmount& nFee, CTxMemPool& po
unsigned int sigOps = 1;
LockPoints lp;
pool.addUnchecked(CTxMemPoolEntry(
tx, nFee, nTime, nHeight,
spendsCoinbase, sigOps, lp));
tx, nFee, nTime, nHeight,
spendsCoinbase, sigOps, lp));
}
// Right now this is only testing eviction performance in an extremely small
@ -25,7 +25,13 @@ static void AddTx(const CTransactionRef& tx, const CAmount& nFee, CTxMemPool& po
// unique transactions for a more meaningful performance measurement.
static void MempoolEviction(benchmark::Bench& bench)
{
RegTestingSetup test_setup;
TestingSetup test_setup{
CBaseChainParams::REGTEST,
/* extra_args */ {
"-nodebuglogfile",
"-nodebug",
},
};
CMutableTransaction tx1 = CMutableTransaction();
tx1.vin.resize(1);

View File

@ -15,7 +15,13 @@
static void WalletBalance(benchmark::Bench& bench, const bool set_dirty, const bool add_watchonly, const bool add_mine, const uint32_t epoch_iters)
{
RegTestingSetup test_setup;
TestingSetup test_setup{
CBaseChainParams::REGTEST,
/* extra_args */ {
"-nodebuglogfile",
"-nodebug",
},
};
const auto& ADDRESS_WATCHONLY = ADDRESS_B58T_UNSPENDABLE;
CWallet wallet{test_setup.m_node.chain.get(), "", CreateMockWalletDatabase()};
@ -24,7 +30,7 @@ static void WalletBalance(benchmark::Bench& bench, const bool set_dirty, const b
bool first_run;
if (wallet.LoadWallet(first_run) != DBErrors::LOAD_OK) assert(false);
}
auto handler = test_setup.m_node.chain->handleNotifications({ &wallet, [](CWallet*) {} });
auto handler = test_setup.m_node.chain->handleNotifications({&wallet, [](CWallet*) {}});
const std::optional<std::string> address_mine{add_mine ? std::optional<std::string>{getnewaddress(wallet)} : std::nullopt};
if (add_watchonly) importaddress(wallet, ADDRESS_WATCHONLY);