diff options
author | MarcoFalke <falke.marco@gmail.com> | 2019-11-01 18:08:27 -0400 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2019-11-01 18:08:41 -0400 |
commit | a5224be6454140ad601347bd536c172b7b6f148b (patch) | |
tree | 35ce4829ac7972cc8fce6250a9a557a3bd265ad8 /src/Makefile.bench.include | |
parent | 5021ef8d7fff3f53f455e31c62d33268633508df (diff) | |
parent | b0c774b48a3198584e61429ef053844bdde2f9ae (diff) |
Merge #17292: Add new mempool benchmarks for a complex pool
b0c774b48a3198584e61429ef053844bdde2f9ae Add new mempool benchmarks for a complex pool (Jeremy Rubin)
Pull request description:
This PR is related to #17268.
It adds a mempool stress test which makes a really big complicated tx graph, and then, similar to mempool_eviction test, trims the size.
The test setup is to make 100 original transactions with Rand(10)+2 outputs each.
Then, 800 times:
we create a new transaction with Rand(10) + 1 parents that are randomly sampled from all existing transactions (with unspent outputs). From each such parent, we then select Rand(remaining outputs) +1 50% of the time, or 1 outputs 50% of the time.
Then, we trim the size to 3/4. Then we trim it to just a single transaction.
This creates, hopefully, a big bundle of transactions with lots of complex structure, that should really put a strain on the mempool graph algorithms.
This ends up testing both the descendant and ancestor tracking.
I don't love that the test is "unstable". That is, in order to compare this test to another, you really can't modify any of the internal state because it will have a different order of invocations of the deterministic randomness. However, it certainly suffices for comparing branches.
Top commit has no ACKs.
Tree-SHA512: cabe96b849b9885878e20eec558915e921d49e6ed1e4b011b22ca191b4c99aa28930a8b963784c9adf78cc8b034a655513f7a0da865e280a1214ae15ebb1d574
Diffstat (limited to 'src/Makefile.bench.include')
-rw-r--r-- | src/Makefile.bench.include | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/Makefile.bench.include b/src/Makefile.bench.include index 38143e32b9..fbcab86d8f 100644 --- a/src/Makefile.bench.include +++ b/src/Makefile.bench.include @@ -30,6 +30,7 @@ bench_bench_bitcoin_SOURCES = \ bench/gcs_filter.cpp \ bench/merkle_root.cpp \ bench/mempool_eviction.cpp \ + bench/mempool_stress.cpp \ bench/rpc_blockchain.cpp \ bench/rpc_mempool.cpp \ bench/util_time.cpp \ |