#consistent-hashing #hashing #consistent #hash #algorithm #hash-map #jump-consistent-hash

jumpch

Jump Consistent Hashing is a fast, minimal memory, consistent hash algorithm

1 stable release

1.0.0 Jul 4, 2022

#2469 in Algorithms

MIT/Apache

7KB
76 lines

Jump Consistent Hash algorithm

Jump Consistent Hashing is a fast, minimal memory, consistent hash algorithm. In comparison to the algorithm of Karger et al., jump consistent hash requires no storage, is faster, and does a better job of evenly dividing the key space among the buckets and of evenly dividing the workload when the number of buckets changes.

Usage

use std::collections::hash_map::DefaultHasher;
use std::hash::{Hash, Hasher};
use jumpch::JumpHasher;

fn main () {
    let mut hasher: JumpHasher<DefaultHasher> = JumpHasher::new(1000);

    "test".hash(&mut hasher);

    assert_eq!(hasher.finish(), 677)
}
use jumpch::hash;

fn main () {
    assert_eq!(hash(123456, 1000), 176)
}

Contributing

Any PR's and issues are welcome.

License

This lib is distributed by MIT and Apache 2.0 licenses. Just choose what's you want.

No runtime deps