This repository contains a benchmarking study comparing different hash combining methods for rendezvous hashing. The code evaluates various approaches to optimize the performance of hash calcualtion for rendezvous hashing while maintaining good distribution properties.
The main notebook (main.ipynb
) implements and tests several hash combining strategies:
- Simple multiplication
- Jenkins hash combination
- FNV-1a inspired combination
- And more (commented out in code)
The implementation focuses on 32-bit MurmurHash as the base hashing function while exploring different ways to efficiently combine server and key hashes.
- Comprehensive benchmarking of different hash combining methods
- Analysis of key distribution properties
- Statistical evaluation
- Visualization of distribution results
- Clone the repository
- Install dependencies
- Run the Jupyter notebook to see benchmarks and analysis
The full analysis and discussion of results is available in the accompanying article: Rendezvous Hashing: The Path to Faster Hashes Calculation