Skip to content

Mnwa/jumpch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Jump Consistent Hash Rust

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages