#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

#124 in Profiling

Download history 325/week @ 2023-10-29 243/week @ 2023-11-05 146/week @ 2023-11-12 211/week @ 2023-11-19 152/week @ 2023-11-26 184/week @ 2023-12-03 306/week @ 2023-12-10 381/week @ 2023-12-17 102/week @ 2023-12-24 439/week @ 2023-12-31 243/week @ 2024-01-07 292/week @ 2024-01-14 363/week @ 2024-01-21 446/week @ 2024-01-28 285/week @ 2024-02-04 683/week @ 2024-02-11

1,785 downloads per month
Used in 2 crates (via frugalos_config)

MIT license

20KB
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