approaches part of #16613 (“Functional test suite bottlenecks”)
The majority of the test time is spent in sync_mempools()
after sending to
addresses, i.e. the bottleneck is in relaying transactions. By whitelisting the
peers via -whitelist
, the inventory is transmissioned immediately rather than
on average every 5 seconds, speeding up the test by at least a factor of two:
before:
0$ time ./wallet_backup.py
1real 2m2.523s
2user 0m6.093s
3sys 0m2.454s
with this PR:
0$ time ./wallet_backup_with_whitelist.py
1real 0m36.570s
2user 0m5.365s
3sys 0m1.696s
Note that the test is not deterministic (the sendtoaddress
RPC in function
one_send()
is executed with a probability of 50%), hence the times could vary
between individual runs.