An Extensive Benchmark of C and C++ Hash Tables
2 months ago
- #performance
- #hash-tables
- #benchmarking
- 文章提出了一个针对C和C++哈希表的基准测试套件,旨在解决现有基准测试中的不足。
- 测试了三种哈希表配置:32位整数键与32位值、64位整数键与448位值、16字符C字符串键与64位值。
- 基准测试包括插入、删除、替换和查找操作,并通过不同负载因子下的性能表现进行衡量。
- 结果展示了多种哈希表的性能表现,包括absl::flat_hash_map、ankerl::unordered_dense、boost::unordered_flat_map和Verstable。
- 关键发现表明,在高负载因子下,SIMD和混合开放寻址/分离链接表表现良好,而基于节点的分离链接表速度较慢。
- 文章最后根据具体用例和性能需求,给出了选择哈希表的建议。