b10c

Results 144 comments of b10c

Concept ACK We'll be doing a Bitcoin Core PR Review club covering this PR on the 29th: [bitcoincore.reviews/20827](https://bitcoincore.reviews/20827)

https://github.com/bitcoin/bitcoin/pull/12404 (not merged) may also be interesting to reviewers. @Sjors did run a few benchmarks back then and found https://github.com/bitcoin/bitcoin/pull/11658 (which this PR overrides) to be the better option at...

fwiw: https://github.com/bitcoin/bitcoin/pull/23581 moved BlockManager to node/blockstorage, that's where the conflict with master happens. I've rebased this PR in https://github.com/0xB10C/bitcoin/tree/2022-01-lukejr-ibd-prune-max-rebased and started benchmarking https://github.com/0xB10C/bitcoin/commit/db2a9e71a748c4806b85f767441fb3f090d62163 (PR) vs https://github.com/0xB10C/bitcoin/commit/2e01b6986099715afa40ed6464da4b321b630e9c (mergebase; MB). I have...

With a prune just before IBD, there is more blk and undo data available when running master than with this change. One potential issue that was mentioned during the PR...

> The 1 MB per block assumption would mean at least 550 blocks. Testnet has deeper reorgs than that? I haven't observed this personally, but yes testnet has been unreliable...

> benchmarking [0xB10C@db2a9e7](https://github.com/0xB10C/bitcoin/commit/db2a9e71a748c4806b85f767441fb3f090d62163) (PR) vs [0xB10C@2e01b69](https://github.com/0xB10C/bitcoin/commit/2e01b6986099715afa40ed6464da4b321b630e9c) (mergebase; MB). > > I have 8 different prune and dbcache configurations set-up. Each configuration runs three times per binary (PR and MB). That's...

> Review by @0xB10C is helpful although I was confused at some places if MB is for Master Branch or Mega Byte. Hm, good point. MB actually stands for mergebase...

I ran full IBD benchmarks (block 0 to 710k compared to 500k to 600k in https://github.com/bitcoin/bitcoin/pull/20827#issuecomment-1017603590) with these three configurations: ``` 1. -dbcache=300 -prune=550 2. -dbcache=4000 -prune=4400 3. -dbcache=4000 -prune=8800...

> > I also pushed a patch for systemtap in depends that gets rid of those compiler warnings. From what I can tell, the variadic is completely unused there, but...

I've been running this for about a week now. I currently have 161 inbound connections: 113 (maximum) full-relay connections and 48 block-relay-only connections. ![image](https://github.com/bitcoin/bitcoin/assets/19157360/eea66aa5-e6ac-40dc-842b-15ca99f49d7f)