Murmur哈希

✍ dations ◷ 2025-02-23 14:27:28 #散列函数

MurmurHash 是一种非加密型哈希函数,适用于一般的哈希检索操作。由Austin Appleby在2008年发明, 并出现了多个变种, 都已经发布到了公有领域(public domain)。与其它流行的哈希函数相比,对于规律性较强的key,MurmurHash的随机分布特征表现更良好。

当前的版本是MurmurHash3, 能够产生出32-bit或128-bit哈希值。

较早的MurmurHash2能产生32-bit或64-bit哈希值。对于大端存储和强制对齐的硬件环境有一个较慢的MurmurHash2可以用。MurmurHash2A 变种增加了Merkle–Damgård 构造,所以能够以增量方式调用。 有两个变种产生64-bit哈希值:MurmurHash64A,为64位处理器做了优化;MurmurHash64B,为32位处理器做了优化。MurmurHash2-160用于产生160-bit 哈希值,而MurmurHash1已经不再使用。

最初的实现是C++的,但是被移植到了其他的流行语言上,包括 Python, C, C#, Perl, Ruby, PHP, Haskell,、Scala、Java和JavaScript等。

这个算法已经被若干开源计划所采纳,最重要的有libstdc++ (4.6版)、Perl、nginx (不早于1.0.1版)、Rubinius、 libmemcached (Memcached的C语言客户端驱动)、maatkit、Hadoop、Kyoto Cabinet以及RaptorDB。

相关

  • 银两银锭指铸成锭状的银两(“锭”亦通“铤”,量词,本指未经冶炼铸造的金属块)。元朝以“元”为国号,库银逐称为元宝(取其元朝之宝之意。元初的“中统元宝”也有发行交钞及钱币),此后“元
  • 东格陵兰洋流东格陵兰洋流(East Greenland Current)由源自北冰洋,带来冰冻、低盐度、往南的水流沿着东格陵兰岸边。东格陵兰洋流为形成近极地环流(gyre)的五条主要洋流之一,并提供北冰洋的冰冻
  • 周宣王周宣王(?-前782年),姬姓,名静,一作靖。西周第十一代天子,周厉王之子,在位46年。周宣王继位后,政治上任用召穆公、尹吉甫、仲山甫、程伯休父、虢文公、申伯、韩侯、显父、仍叔、张仲一
  • 巴托洛若鲹巴氏若鲹(学名:Carangoides bartholomaei)是一种鲹科海鱼。它们分布在大西洋,由马萨诸塞州东岸至巴西,与及离岸岛屿。它们颚的长度及条鳍的数量与其他鲹科有所不同。它们的体型算
  • 苏仙区苏仙区,中国湖南省郴州市市级辖区之一,其下管辖2个街道、8个镇、9个乡。苏仙区因汉朝苏耽修炼成仙的传说而得名。
  • 猫砂猫砂,由美国人爱德华·罗威(Edward Lowe)于1947年发明,是饲主为其饲养的猫用来掩埋粪便和尿液的物品,兔子,雪貂,小型猪(英语:Miniature pig),小型犬(如比格犬和吉娃娃)也能自发地或通过训
  • 安东尼奥·路易吉·高登齐奥·朱塞佩·克雷莫纳安东尼奥·路易吉·高登齐奥·朱塞佩·克雷莫纳(Antonio Luigi Gaudenzio Giuseppe Cremona)是一位意大利数学家。他一生致力于几何学研究和意大利高等数学教育改革。他的声望
  • 穆塔西姆-比拉·卡扎菲穆塔西姆-比拉·卡扎菲(阿拉伯语:مُعْتَصِمٌ بِٱللهِ ٱلْقَذَّافِيّ‎,英文:Moatassem-Billah Gaddafi,也可以音译为Mutassim或Al-Mu'tasim(穆塔斯
  • 宽带斑捻螺宽带斑捻螺(学名:)为捻螺科斑捻螺属的动物。分布于日本以及中国大陆的南海海域、海南等地,属于暖水性种。其常见于潮间带-潮下带浅水区砂质底。
  • 次世代防火墙次世代防火墙(英语:Next-Generation Firewall,缩写为NGFW),一种整合式的网络平台,将多种功能整合在其上:除了传统的防火墙功能之外,还包括线上深度封包检测(DPI),入侵预防系统(IPS),应用层