编译期定制哈希把查找压到 1.3ns,比 unordered_map 快约 12 倍
arpit_bhayani · x · 2026-10-29
作者介绍一种针对编译期已知键集合(如 HTTP 方法、header 名、编译器关键字、ticker 代码)的完美哈希(perfect hashing)C++ header-only 库,核心做法:
- 编译期根据固定键集定制哈希函数,让每个已知键映射到唯一槽位;运行时不用处理整个字符串,只用字符串长度加少量选中字符经关联表查值,哈希计算约 4 条指令。
- 槽位命中后用单次 16 字节 SIMD 比较验证键,而非逐字节循环。
实测单次查找约 1.3ns(约 5 个时钟周期),同机 std::unorderedmap 为 16.6ns。局限:键集需在编译期固定,不适合运行时变化的键;少量键时简单比较可能更划算。适合极热查找路径上用通用性换速度。
「研究」频道最新
- 无需读论文:四步用本地小模型和 Claude 玩转 mech-interp — burny_tech · 2026-10-29
- MIT 团队拆解 Claude「全局工作区」:J-lens 平均后仅保留不足 10% 方差 — burny_tech · 2026-10-29
- J-lens 可直接读出神经元人格词,仓库即将开源 — burny_tech · 2026-10-29
- minilek 追问 PPSZ 类算法:已知 2^(-εn) 亚指数算法能否归入一个自然算法类 — minilek · 2026-10-29
- 理论家辨析:PPSZ 等已知 SAT 算法是否落在 ETH 下界约束内 — minilek · 2026-10-29
- 研究者亲历:一个转向向量即可让 RLHF 模型持续输出违禁词 — voooooogel · 2026-10-29