#consistent-hashing #load-balancing #sharding #constant-time

power-consistent-hash

Power consistent hash - constant expected time constant memory consistent hash

1 unstable release

0.1.0 Aug 11, 2023

#1741 in Algorithms

Apache-2.0

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:

Benchmark of hashing 1k keys

With optional integration of SeaHash to produce 64 bit key fingerprints hashing of 1k UUIDs takes around ~25 microseconds.

Dependencies

~0.6–1.3MB
~25K SLoC