C Minimal Perfect Hashing Library is a portable
LGPL library to create and to work with minimal
perfect hashing functions. The library
encapsulates the newest and more efficient
algorithms available in the literature in an
easy-to-use, production-quality, fast API. The
library is designed to work with big entries that
cannot fit in the main memory. It has been used
successfully for constructing minimal perfect
hashing functions for sets with billions of keys.
Release Notes: This release introduces a new experimental C++11 interface (–enable-cxxmph) implementing the BDZ algorithm in a convenient SimpleMPHIndex interface, which serves as the basis for drop-in replacements for std::unordered_map, sparsehash::sparse_hash_map,
and sparsehash::dense_hash_map. This gives faster lookup time at the expense of insertion time. cxxmpph/mph_map.h and cxxmph/mph_index.h contain details. As a bonus, most warnings in the C code were removed.