News Log
News for version 1.0
This is a bugfix only version, after which a revamp of the cmph code and
algorithms will be done.
News for version 0.9
- The CHD algorithm, which is an algorithm that can be tuned to generate MPHFs that require approximately 2.07 bits per key to be stored. The algorithm outperforms the BDZ algorithm and therefore is the fastest one available in the literature for sets that can be treated in internal memory.
- The CHD_PH algorithm, which is an algorithm to generate PHFs with load factor up to 99 %. It is actually the CHD algorithm without the ranking step. If we set the load factor to 81 %, which is the maximum that can be obtained with the BDZ algorithm, the resulting functions can be stored in 1.40 bits per key. The space requirement increases with the load factor.
- All reported bugs and suggestions have been corrected and included as well.
News for version 0.8
- An algorithm to generate MPHFs that require around 2.6 bits per key to be stored, which is referred to as BDZ algorithm. The algorithm is the fastest one available in the literature for sets that can be treated in internal memory.
- An algorithm to generate PHFs with range m = cn, for c > 1.22, which is referred to as BDZ_PH algorithm. It is actually the BDZ algorithm without the ranking step. The resulting functions can be stored in 1.95 bits per key for c = 1.23 and are considerably faster than the MPHFs generated by the BDZ algorithm.
- An adapter to support a vector of struct as the source of keys has been added.
- An API to support the ability of packing a perfect hash function into a preallocated contiguous memory space. The computation of a packed function is still faster and can be easily mmapped.
- The hash functions djb2, fnv and sdbm were removed because they do not use random seeds and therefore are not useful for MPHFs algorithms.
- All reported bugs and suggestions have been corrected and included as well.
News for version 0.7
- Added man pages and a pkgconfig file.
News for version 0.6
News for version 0.5
News for version 0.4
- Vector Adapter has been added.
- An optimized version of bmz (bmz8) for small set of keys (at most 256 keys) has been added.
- All reported bugs and suggestions have been corrected and included as well.
News for version 0.3
- New heuristic added to the bmz algorithm permits to generate a mphf with only
24.80n + O(1) bytes. The resulting function can be stored in 3.72n bytes.
click here for details.
Enjoy!
Davi de Castro Reis
Djamel Belazzougui
Fabiano Cupertino Botelho
Nivio Ziviani