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 the BitMapFilter to use ref int. This simplifies the code a bit and allows to make it less unsafe. Also, by basing all calls on ref int, should allow to use Interlocked.Or and make the filter concurrency/atomic friendly. An addiitonal side effect is faster MayContainAny
This PR changes the
BitMapFilter
to use ref int. This simplifies the code a bit and allows to make it lessunsafe
. Also, by basing all calls onref int
, should allow to useInterlocked.Or
and make the filter concurrency/atomic friendly. An addiitonal side effect is fasterMayContainAny
Benchmarks
Before
After
Diff for MayContainAny