#hash #consistent #hashing #jump

jmphash

An implementation of the jump consistent hash algorithim

1 unstable release

Uses old Rust 2015

0.1.0 Nov 27, 2016

#10 in #consistent

MIT license

5KB

Jump Consistent Hash

Build Status Coverage Status License

An implementation of the jump consistent hash algorithim as described in [A Fast, Minimal Memory, Consistent Hash Algorithim] (https://arxiv.org/pdf/1406.2294v1.pdf).

Example

extern crate jmphash;

use jmphash::jump_hash;

fn really_complicated_hash_function() -> u64 {
  42
}

fn main() {
    let num_buckets = 100;

    // first use a hash function of your choice to create a u64 key
    let key = really_complicated_hash_function();

    // then one can use `jump_hash` to map the key to a bucket
    let bucket = jump_hash(key, num_buckets);
}

No runtime deps

Features

  • nightly