erigon-pulse/turbo/snapshotsync
Alex Sharov b3aca15ff8
e2: ReadAhead of blocks, senders accounts, code (#7501)
It improves performance of initial sync (stage exec) by 5-20% when
blocks snapshots are mounted to high-latency drive and when chaindata is
on high-latency drive. And improving cold-start performance.

Current implementation using 2 goroutines for ReadAhead. It also
producing more garbage, can improve it later (here are dashboard with
impact).
```
mainnet2-1: with ReadAhead
mainnet2-3: no ReadAhead
```

<img width="949" alt="Screenshot 2023-05-12 at 09 24 31"
src="https://github.com/ledgerwatch/erigon/assets/46885206/b90b1fa8-9099-48ff-95b3-86e864a36d46">

<img width="845" alt="Screenshot 2023-05-12 at 09 24 13"
src="https://github.com/ledgerwatch/erigon/assets/46885206/39d90c0c-a9d5-4735-8c03-da1455b147aa">
2023-05-15 15:08:35 +07:00
..
snap e3: prepare downloader for extraction (#6061) 2022-11-16 15:48:23 +03:00
snapcfg Remove BSC support in Erigon (step 1) (#7246) 2023-04-03 14:46:21 +00:00
block_reader.go e2: ReadAhead of blocks, senders accounts, code (#7501) 2023-05-15 15:08:35 +07:00
block_snapshots_test.go fix lint 2023-01-22 20:47:36 +07:00
block_snapshots.go e3: print background indexing logs in e2 style (summary of all files progress in 1 line) (#7256) 2023-04-05 04:49:02 +00:00