解决方法
我找不到纯粹的Perl解决方案,最接近的是
Reini Urban’s examinations of using perfect hashes with a type system.如果你是在XS中做的话,CMPH (C Minimal Perfect Hashing Library)可能比gperf更合适. CMPH似乎针对非平凡密钥大小和运行时生成进行了优化.
@H_301_11@
@H_301_11@在Perl中运行时生成完美哈希函数的成本可能会淹没使用它的价值.为了获得好处,您需要编译和缓存它.因此,编写一个在XS编译时从固定键列表生成函数的XS模块可能是最好的方法.
@H_301_11@出于好奇,您的数据有多大以及该集合包含多少个键?