interate crab

This commit is contained in:
generall
2024-08-20 22:44:10 +02:00
parent 9c0f69637b
commit 38ae15309d
@@ -128,7 +128,7 @@ Indeed, every read operation from disk is order of magnitude slower than reading
In order to achieve this, we can use a so-called minimal perfect hash function (MPHF). In order to achieve this, we can use a so-called minimal perfect hash function (MPHF).
This a special type of hash function is constructed specifically for a given set of keys, and it guarantees no collisions while using minimal amount of buckets. This a special type of hash function is constructed specifically for a given set of keys, and it guarantees no collisions while using minimal amount of buckets.
In Qdrant, we decided to use *fingerprint-based minimal perfect hash function* implemented in the [ph create](https://crates.io/crates/ph) by [Piotr Beling](https://dl.acm.org/doi/10.1145/3596453). In Qdrant, we decided to use *fingerprint-based minimal perfect hash function* implemented in the [ph create 🦀](https://crates.io/crates/ph) by [Piotr Beling](https://dl.acm.org/doi/10.1145/3596453).
According to our benchmarks, using the perfect hash function does introduce some overhead in terms of hashing time, but it significantly reduces the time for the whole operation: According to our benchmarks, using the perfect hash function does introduce some overhead in terms of hashing time, but it significantly reduces the time for the whole operation:
| Volume | `ph::Function` | `std::hash::Hash` | `HashMap::get`| | Volume | `ph::Function` | `std::hash::Hash` | `HashMap::get`|