On-disk persistent hash table in C++ using memory-mapped files, for fast access to key-based data