Perl的完美哈希函数(如gperf)?

前端之家收集整理的这篇文章主要介绍了Perl的完美哈希函数(如gperf)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我将使用一个键:值存储,并希望在Perl中创建不可碰撞的哈希.是否有一个Perl模块或函数,我可以用来生成一个不可碰撞的哈希函数或表(可能像 gperf)?我已经知道我的输入值范围了.

解决方法

我找不到纯粹的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@出于好奇,您的数据有多大以及该集合包含多少个键?

猜你在找的Perl相关文章