I devised a benchmark using 40 million binary EGDB positions from real games. This shows that the very first cache miss can take substantially longer than 5 microseconds. Because both SSDs and Windows utilize caching, Windows will eventually cache the entire compressed 7P EGDB, assuming there is enough memory.Ed Gilbert wrote: Mon Aug 31, 2026 21:42
The per-thread egdb cache is an interesting idea. I didn't realize you could read a small block from an SSD in 5 us. The last time I benchmarked this stuff was quite a while ago. I have a single egdb cache and use locks to protect critical regions.
The numbers I have shown are averages across these 40 million positions: approximately 35 to 40 nanoseconds for a cache hit, and 5 microseconds for a cache miss. Since different threads analyse different variations anyway, I chose to use thread-local caches to avoid the locks required to synchronize a global cache.
Joost

