0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-03-05 14:06:27 -05:00
bitcoin-core/src
Ava Chow 9f1aa88d4d
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
..
bench Merge bitcoin/bitcoin#30884: streams: cache file position within AutoFile 2024-09-16 23:09:16 -04:00
common
compat
config
consensus
crc32c
crypto
index Merge bitcoin/bitcoin#30884: streams: cache file position within AutoFile 2024-09-16 23:09:16 -04:00
init
interfaces Have createNewBlock return BlockTemplate interface 2024-09-13 10:14:53 +02:00
ipc
kernel Merge bitcoin/bitcoin#30814: kernel: Create usable static kernel library 2024-09-12 16:39:34 +01:00
leveldb
logging
minisketch
node Merge bitcoin/bitcoin#30884: streams: cache file position within AutoFile 2024-09-16 23:09:16 -04:00
policy
primitives
qt Merge bitcoin/bitcoin#28358: Drop -dbcache limit 2024-09-16 15:56:02 -04:00
rpc Merge bitcoin/bitcoin#30410: rpc, rest: Improve block rpc error handling, check header before attempting to read block data. 2024-09-16 16:17:59 -04:00
script
secp256k1
support
test Merge bitcoin/bitcoin#30884: streams: cache file position within AutoFile 2024-09-16 23:09:16 -04:00
univalue
util Merge bitcoin/bitcoin#30884: streams: cache file position within AutoFile 2024-09-16 23:09:16 -04:00
wallet
zmq
.clang-format
.clang-tidy tidy: add clang-tidy modernize-use-starts-ends-with check 2024-09-14 20:33:32 +03:00
addrdb.cpp streams: remove AutoFile::Get() entirely 2024-09-13 21:59:29 -04:00
addrdb.h
addresstype.cpp
addresstype.h
addrman.cpp addrman: change Select to support multiple networks 2024-09-10 12:58:54 -03:00
addrman.h addrman: change Select to support multiple networks 2024-09-10 12:58:54 -03:00
addrman_impl.h addrman: change Select to support multiple networks 2024-09-10 12:58:54 -03:00
arith_uint256.cpp
arith_uint256.h
attributes.h
banman.cpp
banman.h
base58.cpp
base58.h
bech32.cpp
bech32.h
bip324.cpp
bip324.h
bitcoin-chainstate.cpp kernel: Move background load thread to node context 2024-09-13 16:10:31 +02:00
bitcoin-cli-res.rc
bitcoin-cli.cpp
bitcoin-tx-res.rc
bitcoin-tx.cpp
bitcoin-util-res.rc
bitcoin-util.cpp
bitcoin-wallet-res.rc
bitcoin-wallet.cpp
bitcoind-res.rc
bitcoind.cpp
blockencodings.cpp
blockencodings.h
blockfilter.cpp
blockfilter.h
chain.cpp
chain.h
chainparams.cpp
chainparams.h
chainparamsbase.cpp
chainparamsbase.h
chainparamsseeds.h
checkqueue.h
clientversion.cpp
clientversion.h
cluster_linearize.h clusterlin: only start/use search when enough iterations left 2024-09-12 15:15:36 -04:00
CMakeLists.txt build: Skip secp256k1 ctime tests when tests are not being built 2024-09-12 14:24:26 +01:00
coins.cpp
coins.h
compressor.cpp
compressor.h
core_io.h
core_memusage.h
core_read.cpp
core_write.cpp
cuckoocache.h
dbwrapper.cpp
dbwrapper.h
deploymentinfo.cpp
deploymentinfo.h
deploymentstatus.cpp
deploymentstatus.h
dummywallet.cpp
external_signer.cpp
external_signer.h
flatfile.cpp
flatfile.h
hash.cpp
hash.h
headerssync.cpp
headerssync.h
httprpc.cpp
httprpc.h
httpserver.cpp tidy: add clang-tidy modernize-use-starts-ends-with check 2024-09-14 20:33:32 +03:00
httpserver.h
i2p.cpp
i2p.h
indirectmap.h
init.cpp Merge bitcoin/bitcoin#28358: Drop -dbcache limit 2024-09-16 15:56:02 -04:00
init.h
key.cpp
key.h
key_io.cpp
key_io.h
logging.cpp
logging.h
mapport.cpp
mapport.h
memusage.h
merkleblock.cpp
merkleblock.h
net.cpp Merge bitcoin/bitcoin#29436: net: call Select with reachable networks in ThreadOpenConnections 2024-09-16 16:49:25 -04:00
net.h assumeUTXO: fix peers disconnection during sync 2024-09-10 18:08:32 -03:00
net_permissions.cpp
net_permissions.h
net_processing.cpp Merge bitcoin/bitcoin#30661: fuzz: Test headers pre-sync through p2p 2024-09-16 13:59:22 -04:00
net_processing.h
net_types.cpp
net_types.h
netaddress.cpp
netaddress.h
netbase.cpp Merge bitcoin/bitcoin#30868: refactor: add clang-tidy modernize-use-starts-ends-with check 2024-09-16 15:47:04 -04:00
netbase.h net: add All() in ReachableNets 2024-09-10 11:20:40 -03:00
netgroup.cpp
netgroup.h
netmessagemaker.h
noui.cpp
noui.h
outputtype.cpp
outputtype.h
pow.cpp
pow.h
prevector.h
protocol.cpp
protocol.h
psbt.cpp
psbt.h
pubkey.cpp
pubkey.h
random.cpp
random.h
randomenv.cpp
randomenv.h
rest.cpp rest: improve error when only header of a block is available. 2024-09-13 10:50:43 -04:00
rest.h
scheduler.cpp
scheduler.h
serialize.h
signet.cpp
signet.h
span.h
streams.cpp streams: remove AutoFile::Get() entirely 2024-09-13 21:59:29 -04:00
streams.h streams: remove AutoFile::Get() entirely 2024-09-13 21:59:29 -04:00
sync.cpp
sync.h
threadsafety.h
tinyformat.h
torcontrol.cpp
torcontrol.h
txdb.cpp
txdb.h Merge bitcoin/bitcoin#28358: Drop -dbcache limit 2024-09-16 15:56:02 -04:00
txmempool.cpp
txmempool.h
txorphanage.cpp
txorphanage.h
txrequest.cpp
txrequest.h
uint256.cpp
uint256.h
undo.h
validation.cpp assumeUTXO: fix peers disconnection during sync 2024-09-10 18:08:32 -03:00
validation.h kernel: Move background load thread to node context 2024-09-13 16:10:31 +02:00
validationinterface.cpp
validationinterface.h
versionbits.cpp
versionbits.h
walletinitinterface.h