Murmur哈希

✍ dations ◷ 2025-09-12 04:03:14 #散列函数

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。

相关

  • 物种种(拉丁语:Species)或称物种,生物分类的基本单位,位于生物分类法中最后一级,在属之下。较为笼统的概念,是指一群或多或少与其它这样的群体形态相同,并能够交配繁殖出具生殖能力后代
  • 物质状态物质状态是指一种物质出现不同的相。早期来说,物质状态是以它的体积性质来分辨。在固态时,物质拥有固定的形状和容量;而在液态时,物质维持固定的容量但形状会随容器的形状而改变
  • 王恩多王恩多(1944年11月-),中国生物化学与分子生物学家。中国科学院上海生命科学研究院生物化学与细胞生物学研究所研究员。1944年生于重庆。1969年和1981年中国科学院上海生物化学研
  • 成立欧洲联盟是一个涵盖大部分欧洲大陆的地缘政治实体。其成立是以数个条约为基础。欧盟经历多次扩张,从原来的6个成员国扩展到现今的28个成员国。欧盟的起源可追溯至后二战时代,
  • 理查·莱亚德理查·莱亚德(Richard Layard)是英国顶尖的经济学家,在九十年代末曾担任英国首相布莱尔的顾问。他相信一个社会的快乐不必然与其收入相等,而他所研究的“快乐经济学”(Happiness:
  • Transport for London伦敦交通局或称伦敦运输局(英语:Transport for London),缩写:TfL,是负责管理英国首都大伦敦区主要运输系统的地方政府机关,其主要角色是将运输政策或者计划付诸执行,并且管理在伦敦
  • 张乐平张乐平(1910年11月10日-1992年9月27日),浙江海盐人,中国漫画家,最为人熟悉的作品是三毛,被誉为“三毛之父”、“三毛爷爷”。张乐平生于浙江省海盐县海塘乡黄庵头村(现西塘桥街道海
  • 流行性腮腺炎疫苗流行性腮腺炎疫苗(Mumps vaccine)可有效预防流行性腮腺炎,当一群体中大多数人口接受施打时可在减小流行性腮腺炎及其并发症的发生。据估算,当人群中百分之九十均注射该疫苗时,其
  • 戴维·本-古里安大卫·本-古里昂(希伯来语:.mw-parser-output .script-hebrew,.mw-parser-output .script-Hebr{font-size:1.15em;font-family:"Ezra SIL","Ezra SIL SR","Keter Aram Tsova",
  • 井伊直政井伊直政(1561年3月4日-1602年3月24日、永禄4年2月19日-庆长7年2月1日)是日本战国时代的武将,德川家家臣,父亲是今川氏家臣井伊直亲(远江国人众),幼名是“虎松”及“万千代”,官位是从