mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-29 07:18:58 +01:00
Merge #18759: bench: Start nodes with -nodebuglogfile
fabe44e815bench: 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: ACKfabe44e815- 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:
@@ -16,7 +16,14 @@
|
|||||||
|
|
||||||
static void AssembleBlock(benchmark::State& state)
|
static void AssembleBlock(benchmark::State& state)
|
||||||
{
|
{
|
||||||
RegTestingSetup test_setup;
|
TestingSetup test_setup{
|
||||||
|
CBaseChainParams::REGTEST,
|
||||||
|
/* extra_args */ {
|
||||||
|
"-nodebuglogfile",
|
||||||
|
"-nodebug",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
const std::vector<unsigned char> op_true{OP_TRUE};
|
const std::vector<unsigned char> op_true{OP_TRUE};
|
||||||
CScriptWitness witness;
|
CScriptWitness witness;
|
||||||
witness.stack.push_back(op_true);
|
witness.stack.push_back(op_true);
|
||||||
|
|||||||
@@ -14,7 +14,13 @@
|
|||||||
|
|
||||||
static void DuplicateInputs(benchmark::State& state)
|
static void DuplicateInputs(benchmark::State& state)
|
||||||
{
|
{
|
||||||
RegTestingSetup test_setup;
|
TestingSetup test_setup{
|
||||||
|
CBaseChainParams::REGTEST,
|
||||||
|
/* extra_args */ {
|
||||||
|
"-nodebuglogfile",
|
||||||
|
"-nodebug",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
const CScript SCRIPT_PUB{CScript(OP_TRUE)};
|
const CScript SCRIPT_PUB{CScript(OP_TRUE)};
|
||||||
|
|
||||||
|
|||||||
@@ -16,8 +16,8 @@ static void AddTx(const CTransactionRef& tx, const CAmount& nFee, CTxMemPool& po
|
|||||||
unsigned int sigOpCost = 4;
|
unsigned int sigOpCost = 4;
|
||||||
LockPoints lp;
|
LockPoints lp;
|
||||||
pool.addUnchecked(CTxMemPoolEntry(
|
pool.addUnchecked(CTxMemPoolEntry(
|
||||||
tx, nFee, nTime, nHeight,
|
tx, nFee, nTime, nHeight,
|
||||||
spendsCoinbase, sigOpCost, lp));
|
spendsCoinbase, sigOpCost, lp));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Right now this is only testing eviction performance in an extremely small
|
// 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.
|
// unique transactions for a more meaningful performance measurement.
|
||||||
static void MempoolEviction(benchmark::State& state)
|
static void MempoolEviction(benchmark::State& state)
|
||||||
{
|
{
|
||||||
RegTestingSetup test_setup;
|
TestingSetup test_setup{
|
||||||
|
CBaseChainParams::REGTEST,
|
||||||
|
/* extra_args */ {
|
||||||
|
"-nodebuglogfile",
|
||||||
|
"-nodebug",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
CMutableTransaction tx1 = CMutableTransaction();
|
CMutableTransaction tx1 = CMutableTransaction();
|
||||||
tx1.vin.resize(1);
|
tx1.vin.resize(1);
|
||||||
|
|||||||
@@ -14,7 +14,14 @@
|
|||||||
|
|
||||||
static void WalletBalance(benchmark::State& state, const bool set_dirty, const bool add_watchonly, const bool add_mine)
|
static void WalletBalance(benchmark::State& state, const bool set_dirty, const bool add_watchonly, const bool add_mine)
|
||||||
{
|
{
|
||||||
RegTestingSetup test_setup;
|
TestingSetup test_setup{
|
||||||
|
CBaseChainParams::REGTEST,
|
||||||
|
/* extra_args */ {
|
||||||
|
"-nodebuglogfile",
|
||||||
|
"-nodebug",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
const auto& ADDRESS_WATCHONLY = ADDRESS_BCRT1_UNSPENDABLE;
|
const auto& ADDRESS_WATCHONLY = ADDRESS_BCRT1_UNSPENDABLE;
|
||||||
|
|
||||||
NodeContext node;
|
NodeContext node;
|
||||||
@@ -25,7 +32,7 @@ static void WalletBalance(benchmark::State& state, const bool set_dirty, const b
|
|||||||
bool first_run;
|
bool first_run;
|
||||||
if (wallet.LoadWallet(first_run) != DBErrors::LOAD_OK) assert(false);
|
if (wallet.LoadWallet(first_run) != DBErrors::LOAD_OK) assert(false);
|
||||||
}
|
}
|
||||||
auto handler = chain->handleNotifications({ &wallet, [](CWallet*) {} });
|
auto handler = chain->handleNotifications({&wallet, [](CWallet*) {}});
|
||||||
|
|
||||||
const Optional<std::string> address_mine{add_mine ? Optional<std::string>{getnewaddress(wallet)} : nullopt};
|
const Optional<std::string> address_mine{add_mine ? Optional<std::string>{getnewaddress(wallet)} : nullopt};
|
||||||
if (add_watchonly) importaddress(wallet, ADDRESS_WATCHONLY);
|
if (add_watchonly) importaddress(wallet, ADDRESS_WATCHONLY);
|
||||||
|
|||||||
Reference in New Issue
Block a user