1 unstable release
0.1.0 | Aug 11, 2023 |
---|
#1981 in Algorithms
109 downloads per month
16KB
255 lines
Constant time consistent hash
This repo contains implementation of power consistent hash - constant expected time and constant memory consistent hashing. Minimal number of keys are remapped when the number of buckets changes.
Target use cases - load balancing and data sharding.
The hashing algorithm execution time doesn't depend on number of hashing time.
Benchmark - hashing 1k 64 bit key batches
2.6GHz Intel Core i7 hashes 1k 64 bit keys in ~6.4 microseconds. The left axis is a number of consistent hash buckets:
With optional integration of SeaHash to produce 64 bit key fingerprints hashing of 1k UUIDs takes around ~25 microseconds.
Dependencies
~0.6–1.2MB
~24K SLoC