Crates.io | jumpch |
lib.rs | jumpch |
version | 1.0.0 |
source | src |
created_at | 2022-07-04 16:51:29.403312 |
updated_at | 2022-07-04 16:51:29.403312 |
description | Jump Consistent Hashing is a fast, minimal memory, consistent hash algorithm. |
homepage | |
repository | https://github.com/Mnwa/jumpch |
max_upload_size | |
id | 619047 |
size | 18,375 |
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.
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)
}
Any PR's and issues are welcome.
This lib is distributed by MIT
and Apache 2.0
licenses. Just choose what's you want.