栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

MurmurHash

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MurmurHash

Murmur是一系列良好的通用哈希函数,适用于非加密用途。如Austin Appleby所述,MurmurHash具有以下优点:

  • 简单(就生成的汇编指令而言)。
  • 良好的分布(通过几乎所有键集和存储桶大小的卡方检验。
  • 良好的雪崩行为(最大偏差为0.5%)。
  • 良好的抗碰撞能力(通过了鲍勃·詹金的frog.c酷刑测试。4字节密钥不可能发生冲突,差异不大(1至7位)。
  • 在Intel / AMD硬件上具有出色的性能,在哈希质量和CPU消耗之间进行了很好的权衡。

您当然可以使用它来对UUID进行哈希处理(就像其他任何高级哈希函数一样:CityHash,Jenkins,Paul
Hsieh的等等)。现在,Redis位集限制为4 GB位(512
MB)。因此,您需要将128位数据(UUID)减少到32位(哈希值)。无论哈希函数的质量如何,都将发生冲突。

使用像Murmur这样的工程哈希函数可以最大程度地提高分发质量,并最大程度减少冲突次数,但是它没有其他保证。

以下是一些比较通用哈希函数质量的链接:

http://www.azillionmonkeys.com/qed/hash.html

http://www.strchr.com/hash_functions

http://blog.aggregateknowledge.com/2011/12/05/choosing-a-good-hash-function-
part-1/

http://blog.aggregateknowledge.com/2011/12/29/choosing-a-good-hash-function-
part-2/

http://blog.aggregateknowledge.com/2012/02/02/choosing-a-good-hash-function-
part-3/



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/367203.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号