RavenDB replaces ImmutableDictionary with ScratchPagesTable for GC performance
The author details the design of a specialized data structure called ScratchPagesTable, created to replace a costly ImmutableDictionary in RavenDB. By utilizing an open-addressing hash table with linear probing, centralized reference arrays, and sequence number-based pruning, the custom structure improves .NET garbage collection efficiency and yields a performance increase of over 20%. Open article →