A custom storage engine of Nethermind, benefiting from the alignment of the underlying data structure with the layout of State & Storage trees of Ethereum.
This PR changes how the state is handled for Merkle. During running tests for dangling transactions, it was found that 20% of the block application is the state with data being flushed down. This application speed is important as it limits the depth of the in-memory queue for the blocks to be applied.
With removal of top 2 layers of the State tree memoization for RLP, and separating the Merkle of length of the key <2 from the others we should do much better.
This PR changes how the state is handled for Merkle. During running tests for dangling transactions, it was found that 20% of the block application is the state with data being flushed down. This application speed is important as it limits the depth of the in-memory queue for the blocks to be applied.
With removal of top 2 layers of the State tree memoization for RLP, and separating the Merkle of length of the key <2 from the others we should do much better.
Benchmarks
Before