主要观点:作者决定发布另一个哈希表基准测试套件,因现有 C++表测试覆盖少、结果累积性强、测试类型单一,且作者发布了新的 C 通用哈希表想展示其性能。介绍了基准测试设置,包括三种哈希表配置及测试的操作,指出测试存在局限性。列出了 benchmark 的 C++表和 C 表,如 absl::flat_hash_map 等。给出不同总键数下的测试结果并整理为热图,分析各表性能,如 absl::flat_hash_map 插入快等。最后得出不同语言下的最佳哈希表选择及一些通用观察,还介绍了 Verstable 与 CC 的 cc_map 的差异,感谢了相关人员并提供了讨论链接。
关键信息:
- 三种哈希表配置及测试操作:32 位整数键等不同配置下的各种插入、删除、替换等操作测试。
- 参与测试的表:C++表如 absl 等,C 表如 cc_map 等。
- 测试结果及热图:不同表在各种操作下的时间表现及相对快慢。
- 分析结论:各表性能特点及优缺点,如 node-based 表慢等。
- 选择建议:C++中 boost 表较好,C 中 Verstable 等不错,需考虑具体情况。
重要细节: - 测试环境:GCC 13.2.0 编译,在 AMD Ryzen 7 5800H 上运行等。
- 表的特点:如 absl 存储哈希码片段等,各表在存储方式、内存开销等方面的差异。
- 局限性:测试负载因子范围、未测内存使用等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。