bitcoin/src/bench
Ava Chow 9f1aa88d4d
Some checks are pending
CI / Win64 native, VS 2022 (push) Waiting to run
CI / ASan + LSan + UBSan + integer, no depends, USDT (push) Waiting to run
CI / test each commit (push) Waiting to run
CI / macOS 13 native, x86_64, no depends, sqlite only, gui (push) Waiting to run
Merge bitcoin/bitcoin#30884: streams: cache file position within AutoFile
a240e150e8 streams: remove AutoFile::Get() entirely (Pieter Wuille)
e624a9bef1 streams: cache file position within AutoFile (Pieter Wuille)

Pull request description:

  Fixes #30833.

  Instead of relying on frequent `ftell` calls (which appear to cause a significant slowdown on some systems) in XOR-enabled `AutoFile`s, cache the file position within `AutoFile` itself.

ACKs for top commit:
  achow101:
    ACK a240e150e8
  davidgumberg:
    untested reACK a240e150e8
  theStack:
    Code-review ACK a240e150e8

Tree-SHA512: fd3681edc018afaf955dc7a41a0c953ca80d46c1129e3c5b306c87c95aae93b2fe7b900794eb8b6f10491f9211645e7939918a28838295e6873eb226fca7006f
2024-09-16 23:09:16 -04:00
..
data Add deserialize + CheckBlock benchmarks, and a full block hex 2016-11-09 11:27:59 -08:00
addrman.cpp addrman: change Select to support multiple networks 2024-09-10 12:58:54 -03:00
base58.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
bech32.cpp refactor: Hand-replace some ParseHex -> ""_hex 2024-08-28 19:11:59 +02:00
bench.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
bench.h bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
bench_bitcoin.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
bip324_ecdh.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
block_assemble.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
ccoins_caching.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
chacha20.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
checkblock.cpp test: Use span for raw data 2024-09-05 10:57:19 +02:00
checkblockindex.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
checkqueue.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
cluster_linearize.cpp clusterlin: improve heuristic to decide split transaction (optimization) 2024-09-12 15:15:36 -04:00
CMakeLists.txt test: Use span for raw data 2024-09-05 10:57:19 +02:00
coin_selection.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
crypto_hash.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
descriptors.cpp Merge bitcoin/bitcoin#22838: descriptors: Be able to specify change and receiving in a single descriptor string 2024-08-28 15:56:15 +01:00
disconnected_transactions.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
duplicate_inputs.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
ellswift.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
examples.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
gcs_filter.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
hashpadding.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
index_blockfilter.cpp scripted-diff: Replace ParseHex[<std::byte>]("str") -> "str"_hex[_u8] 2024-08-28 19:11:59 +02:00
load_external.cpp test: Use span for raw data 2024-09-05 10:57:19 +02:00
lockedpool.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
logging.cpp bench: Remove redundant logging benchmarks 2024-09-05 07:17:22 +02:00
mempool_eviction.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
mempool_stress.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
merkle_root.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
nanobench.cpp Replace current benchmarking framework with nanobench 2020-06-13 12:24:18 +02:00
nanobench.h bench: Update nanobench to 4.3.11 2023-11-14 20:22:12 +01:00
parse_hex.cpp Add benchmark for TryParseHex 2024-02-28 17:23:54 +00:00
peer_eviction.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
poly1305.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
pool.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
prevector.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
random.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
readblock.cpp test: Use span for raw data 2024-09-05 10:57:19 +02:00
rollingbloom.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
rpc_blockchain.cpp test: Use span for raw data 2024-09-05 10:57:19 +02:00
rpc_mempool.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
sign_transaction.cpp Merge bitcoin/bitcoin#30571: test: [refactor] Use m_rng directly 2024-08-28 16:56:32 +01:00
streams_findbyte.cpp streams: cache file position within AutoFile 2024-09-13 07:35:41 -04:00
strencodings.cpp test: Use span for raw data 2024-09-05 10:57:19 +02:00
util_time.cpp refactor: Remove unused GetTimeMillis 2023-05-08 12:40:48 +02:00
verify_script.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
wallet_balance.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
wallet_create.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
wallet_create_tx.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
wallet_ismine.cpp Merge bitcoin/bitcoin#22838: descriptors: Be able to specify change and receiving in a single descriptor string 2024-08-28 15:56:15 +01:00
wallet_loading.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00
xor.cpp bench: [refactor] iwyu 2024-08-27 07:33:59 +02:00