Murmur哈希

✍ dations ◷ 2025-04-04 23:39:33 #散列函数

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。

相关

  • 栉水母动物门栉水母(Ctenophores),又名海胡桃,是一类两胚层动物,属辐射对称动物,现被划分为栉水母动物门(学名:Ctenophora),又名有栉动物门、栉板动物门。原和刺丝胞动物一起分在腔肠动物门,作为无
  • 迈克耳孙干涉仪迈克耳孙干涉仪(英语:Michelson interferometer)是光学干涉仪中最常见的一种,其发明者是美国物理学家阿尔伯特·迈克耳孙。迈克耳孙干涉仪的原理是一束入射光分为两束后各自被对
  • 詹姆士·兰宝詹姆士·兰宝(英语:James E. Rumbaugh,1947年8月22日-),生于美国宾夕法尼亚州伯利恒,计算机科学家,专长于软件工程与面向对象技术。曾提出物件建模技术(英语:Object-modeling techniqu
  • 氯化苦三氯硝基甲烷,俗称氯化苦(英语:Chloropicrin),是一种化学式为Cl3CNO2的有机氯化合物。这种高毒性的物质曾被用作代号为PS的化学武器;现在则主要用作熏蒸剂和杀线虫剂。氯化苦最早
  • 赵增益赵增益(1920年-1993年2月27日)。中国山西平定县宋家庄村人。1937年5月,参加山西牺牲救国同盟会,1937年10月加入中国共产党。抗日战争时期,历任晋东抗日游击队组织股长、八路军129
  • 黄花菜金针花、又名黄花菜、柑橘萱草(学名:Hemerocallis citrina)是萱草科的植物,原产中国大陆中南方省分。花经过蒸、晒,加工成干菜,金针花也可食用,但食用前应充分加热,否则可能导致中毒
  • 上滕山坐标:47°10′45″N 12°45′02″E / 47.17917°N 12.75056°E / 47.17917; 12.75056上滕山(德语:Hoher Tenn),是奥地利的山峰,位于该国北部,由萨尔兹堡州负责管辖,属于高地陶恩山脉
  • 印度枣印度枣(学名:),或称滇刺枣,是原产于印度、锡兰一地的鼠李科枣属作物。台湾于1944年引进印度枣,之后在台湾培育出如“蜜枣”等品种,又称为“台湾青苹果”、“青枣”。蜜枣生长季节从
  • Carry On/命中注定《Carry On/命中注定》(日语:Carry On/運命のヒト)为日本音乐团体EXILE(放浪兄弟)的第14张单曲。2004年5月12日于日本发行。
  • 南奥塞梯总理南奥塞梯总理是南奥塞梯共和国的政府首脑,南奥塞梯共和国是在高加索地区未被国际普遍承认的国家。南奥塞梯于1991年开始设立总理一职。