bitcoin/src/bench
laanwj a100c42a13
Merge bitcoin/bitcoin#24927: Add test util to populate mempool with random transactions, fix #24634 bug
d2f8f1b307 use testing setup mempool in ComplexMemPool bench (glozow)
aecc332a71 create and use mempool transactions using real coins in MempoolCheck (glozow)
2118750631 [test util] to populate mempool with random transactions/packages (glozow)
5374dfc4e3 [test util] use -checkmempool for TestingSetup mempool check ratio (glozow)
d7d9c7b266 [test util] add chain name to TestChain100Setup ctor (glozow)

Pull request description:

  Fixes #24634 by using the `testing_setup`'s actual mempool rather than a locally-declared mempool for running `check()`.

  Also creates a test utility for populating the mempool with a bunch of random transactions. I imagine this could be useful in other places as well; it was necessary here because we needed the mempool to contain transactions *spending coins available in the current chainstate*. The existing `CreateOrderedCoins()` is insufficient because it creates coins out of thin air.

  Also implements the separate suggestion to use the `TestingSetup` mempool in `ComplexMemPool` bench.

ACKs for top commit:
  laanwj:
    Code review ACK d2f8f1b307

Tree-SHA512: 44ab5a9e55b126b5a5bc33f05fbad1380b9c43c84736c7cf487be025e0e3f5d75216ccf5a3088b0935da817e3dacfba99d2885f75bcb6e7eaa24cd20a82c24c8
2022-06-02 19:08:43 +02:00
..
data Add deserialize + CheckBlock benchmarks, and a full block hex 2016-11-09 11:27:59 -08:00
.gitignore Ignore bench_bitcoin binary. 2015-10-06 17:46:12 +02:00
addrman.cpp [net] Move asmap into NetGroupManager 2022-04-20 14:29:29 +01:00
base58.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
bech32.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
bench.cpp Fixup option name in bench message 2022-05-25 00:26:38 -05:00
bench.h bench: Add --sanity-check flag, use it in make check 2022-05-17 11:32:25 +02:00
bench_bitcoin.cpp bench: Make all arguments -kebab-case 2022-05-17 11:32:25 +02:00
block_assemble.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
ccoins_caching.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
chacha20.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
chacha_poly_aead.cpp Do not run functions with necessary side-effects in assert() 2020-12-06 00:48:09 +00:00
checkblock.cpp Use spans of std::byte in serialize 2022-01-02 11:40:31 +01:00
checkqueue.cpp refactor: use C++11 default initializers 2022-05-17 17:18:58 +01:00
coin_selection.cpp Set effective_value when initializing a COutput 2022-05-21 11:25:54 -04:00
crypto_hash.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
data.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
data.h bench: Move generated data to a dedicated translation unit 2019-07-02 18:11:15 +01:00
duplicate_inputs.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
examples.cpp bench: Avoid deprecated use of volatile += 2022-02-17 17:25:57 +01:00
gcs_filter.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
hashpadding.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
lockedpool.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
logging.cpp bench: Add logging benchmark 2021-12-15 14:33:59 +01:00
mempool_eviction.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
mempool_stress.cpp use testing setup mempool in ComplexMemPool bench 2022-05-30 16:00:41 -07:00
merkle_root.cpp Replace current benchmarking framework with nanobench 2020-06-13 12:24:18 +02:00
nanobench.cpp Replace current benchmarking framework with nanobench 2020-06-13 12:24:18 +02:00
nanobench.h bench: update nanobench from 4.3.4 to 4.3.6 2021-09-21 11:46:01 +02:00
peer_eviction.cpp scripted-diff: Rename touched member variables 2021-12-13 13:32:08 +01:00
poly1305.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
prevector.cpp refactor: use C++11 default initializers 2022-05-17 17:18:58 +01:00
rollingbloom.cpp refactor: Remove deduplication of data in rollingbloom bench 2022-04-06 13:57:31 +01:00
rpc_blockchain.cpp move-mostly: Make fHavePruned a BlockMan member 2022-04-19 14:34:56 -04:00
rpc_mempool.cpp refactor: fix clang-tidy named args usage 2022-04-04 09:01:19 +01:00
strencodings.cpp bench: Adds a benchmark for HexStr 2022-04-17 14:29:52 +02:00
util_time.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
verify_script.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
wallet_balance.cpp refactor: fix clang-tidy named args usage 2022-04-04 09:01:19 +01:00
wallet_loading.cpp bench: Add a benchmark for wallet loading 2022-04-18 17:02:57 -04:00