#distributed #hash

rendezvous_hash

An implementation of Rendezvous hashing algorithm

11 releases

0.3.0 Oct 4, 2019
0.2.3 Oct 3, 2019
0.2.1 Jul 28, 2017
0.2.0 Jan 29, 2017
0.1.5 Jan 28, 2017

#336 in Algorithms

Download history 270/week @ 2021-08-15 116/week @ 2021-08-22 102/week @ 2021-08-29 103/week @ 2021-09-05 71/week @ 2021-09-12 29/week @ 2021-09-19 71/week @ 2021-09-26 80/week @ 2021-10-03 105/week @ 2021-10-10 160/week @ 2021-10-17 80/week @ 2021-10-24 87/week @ 2021-10-31 86/week @ 2021-11-07 47/week @ 2021-11-14 235/week @ 2021-11-21 61/week @ 2021-11-28

432 downloads per month
Used in 2 crates (via frugalos_config)

MIT license

19KB
341 lines

rendezvous_hash

Crates.io: rendezvous_hash Documentation Build Status Code Coverage License: MIT

A Rust implementation of Rendezvous (a.k.a, highest random weight) hashing algorithm.

Documentation

References

An Informal Benchmark

$ cat /proc/cpuinfo  | grep 'model name' | head -1
model name      : Intel(R) Core(TM) i7-6600U CPU @ 2.60GHz

$ uname -a
Linux ubuntu 4.8.0-34-generic #36-Ubuntu SMP Wed Dec 21 17:24:18 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

$ cargo run --release --example bench -- /usr/share/dict/words --nodes Rust Alef C++ Camlp4 CommonLisp Erlang Haskell Hermes Limbo Napier Napier88 Newsqueak NIL Sather StandardML

WORD COUNT: 99156
NODE COUNT: 15

SELECTED COUNT PER NODE:
- Napier88:     6711
- Haskell:      6607
- StandardML:   6622
- CommonLisp:   6621
- Newsqueak:    6693
- C++:  6605
- Sather:       6495
- Limbo:        6704
- Camlp4:       6536
- Erlang:       6594
- Napier:       6685
- Rust:         6568
- NIL:  6514
- Hermes:       6667
- Alef:         6534

ELAPSED: 84 ms
WORDS PER SECOND: 1177303

No runtime deps

K]