NethermindEth / Paprika

A custom storage engine of Nethermind, benefiting from the alignment of the underlying data structure with the layout of State & Storage trees of Ethereum.
GNU Lesser General Public License v3.0
91 stars 14 forks source link

Parallel prefetcher #424

Closed Scooletz closed 2 weeks ago

Scooletz commented 2 weeks ago

Another, simpler take on the Merkle prefetcher. This PR does it by providing the following:

  1. BitFilter atomic operations
  2. Delegating Prefetch calls to ThreadPool.QueueWorkItem so that no queue is needed
  3. Ensuring that the given prefetch is not called twice.
  4. Making it based on ReaderWriterLockSlim
github-actions[bot] commented 2 weeks ago

Code Coverage

Package Line Rate Branch Rate Health
Paprika 85% 80%
Summary 85% (4785 / 5618) 80% (1578 / 1966)

Minimum allowed line rate is 75%