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.
| Licenses | LGPL |
|---|---|
| Implementation | C |
Recent releases


Changes: This release introduces the CHD algorithm, currently the fastest linear algorithm in the literature for building perfect hash functions and minimal perfect hash functions. The generated functions are also the most compact known to date. Also, the CHD algorithm supports t-perfect hash functions, which can have at most t collisions in a given bin. This allow building hash tables for small key/value pairs that work efficiently with block-based storage, such as hard disks.


Changes: This version adds the internal memory bdz algorithm and utility functions to (de)serialize minimal perfect hash functions from mmap'ed memory regions. The new bdz algorithm for minimal perfect hashes requires 2.6 bits per key and is the fastest one currently available in the literature.


Changes: This version added man pages and a pkgconfig file.


Changes: This release adds an implementation of a classical minimal perfect hash algorithm called fch. This is used as a basis for a new algorithm that can create minimal perfect hashes for billions of keys with less than four bits per key, and is ready to use. Suggestions and bugfixes from users have been incorporated.


Changes: Minor bugfixes, and the addition of a new algorithm for sets in the order of billions of keys that require approximately 8.1 bits per key to store the result.
An Eclipse-based code generation tool for Spring.
A multiplatform, multilanguage, N-way client/server protocol library and server.