CppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”
9 人推荐 · 跨 10 个月 · 2018–2026

中文导读
Matt Kulukundis 详述了 Google 如何从传统的 std::unordered_map 逐步推导出缓存极友好的高性能哈希表 SwissTable。内容涵盖开放寻址法、SIMD 探测加速,以及重构基础数据结构时权衡的工程代价。
为什么 HN 推它
理解 SwissTable 设计原理的权威视频教材。该设计后来直接启发了 Abseil、Rust 标配哈希表以及 Go map 的底层实现。
「顶级技术演讲,把如此底层的硬核概念讲得清晰明了又高度提炼。」HN 网友原话:Excellent talk which explains the concepts really clearly and concisely.
英文原摘要(HackerTube / Claude 整理)
Matt Kulukundis explains how Google designed SwissTable, a fast, cache-friendly hash table, step by step from std::unordered_map. The talk covers open addressing, SIMD probing and the tradeoffs of changing a fundamental data structure.
HN repeatedly cites it as the definitive explanation of SwissTable, the design behind Abseil, Rust's hash map and Go's maps.
HN 上的提及
Google presented the SwissTable design more than a year ago in CppCon [1]
they explained the reasoning behind their choices in this CppCon talk
abseil presentation: It's super interesting.
There's a good talk about such a dense, flat hash set here
(warning, it's an hour. Takes a while to build up, too. Still worth it.)