Here are the slides and video.
Some cool takeaways:
- Open addressing style
- Growing hashmap: create another submap instead of rehash
- Compare and swap for insert
- Thread Local Storage
- Microsharding when atomic inc is a bottleneck
- Modulus is too slow for calculating the hash: so take mod on next power of two and use bit ops
- What's the optimal size? Branch misprediction becomes a factor too.