Package: wnpp Severity: wishlist Subject: ITP: hopscotch-map -- C++ fast hash map and hash set using hopscotch hashing Package: wnpp Owner: Michael R. Crusoe <michael.cru...@gmail.com> Severity: wishlist
* Package name : hopscotch-map Version : 2.2.1 Upstream Author : Tessil * URL : https://github.com/Tessil/hopscotch-map/ * License : MIT Programming Lang: C Description : C++ fast hash map and hash set using hopscotch hashing The hopscotch-map library is a C++ implementation of a fast hash map and hash set using open-addressing and hopscotch hashing to resolve collisions. It is a cache-friendly data structure offering better performances than `std::unordered_map` in most cases and is closely similar to `google::dense_hash_map` while using less memory and providing more functionalities. . The library provides the following main classes: `tsl::hopscotch_map`, `tsl::hopscotch_set`, `tsl::hopscotch_pg_map` and `tsl::hopscotch_pg_set`. The first two are faster and use a power of two growth policy, the last two use a prime growth policy instead and are able to cope better with a poor hash function. Use the prime version if there is a chance of repeating patterns in the lower bits of your hash (e.g. you are storing pointers with an identity hash function). . In addition to these classes the library also provides `tsl::bhopscotch_map`, `tsl::bhopscotch_set`, `tsl::bhopscotch_pg_map` and `tsl::bhopscotch_pg_set`. These classes have an additional requirement for the key, it must be `LessThanComparable`, but they provide a better asymptotic upper bound. Nonetheless if you don't have specific requirements (risk of hash DoS attacks), `tsl::hopscotch_map` and `tsl::hopscotch_set` should be sufficient in most cases and should be your default pick as they perform better in general. Remark: This package is maintained by Debian Med Packaging Team at https://salsa.debian.org/med-team/hopscotch-map