Crates.io | rendezvous_hash |
lib.rs | rendezvous_hash |
version | 0.3.0 |
source | src |
created_at | 2017-01-15 08:40:07.777316 |
updated_at | 2019-10-04 13:40:31.760524 |
description | An implementation of Rendezvous hashing algorithm |
homepage | https://github.com/sile/rendezvous_hash |
repository | https://github.com/sile/rendezvous_hash |
max_upload_size | |
id | 8081 |
size | 27,875 |
A Rust implementation of Rendezvous (a.k.a, highest random weight) hashing algorithm.
This paper describes an efficient method for calculating consistent hash values for heterogeneous nodes.
$ 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