加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-16 06:20:44 所属栏目:大数据 来源:网络整理
导读:我将使用一个键:值存储,并希望在Perl中创建不可碰撞的哈希.是否有一个Perl模块或函数,我可以用来生成一个不可碰撞的哈希函数或表(可能像 gperf)?我已经知道我的输入值范围了. 解决方法 我找不到纯粹的Perl解决方案,最接近的是 Reini Urban’s examinations
我将使用一个键:值存储,并希望在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似乎针对非平凡密钥大小和运行时生成进行了优化.

在Perl中运行时生成完美哈希函数的成本可能会淹没使用它的价值.为了获得好处,您需要编译和缓存它.因此,编写一个在XS编译时从固定键列表生成函数的XS模块可能是最好的方法.

出于好奇,您的数据有多大以及该集合包含多少个键?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读