Murmur哈希

✍ dations ◷ 2025-08-22 11:51:02 #散列函数

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。

相关

  • 胸椎胸椎是脊椎的一部分,位于颈椎和腰椎之间。人类有12块胸椎,大小介于颈椎和腰椎之间,从上至下逐渐增大。Template:Spinal nerves(英语:Template:Spinal nerves) Template:Bones of t
  • 欧拉常数欧拉-马斯刻若尼常数是一个数学常数,定义为调和级数与自然对数的差值:它的近似值为 γ ≈ 0.5772156649015328606065120900824024310
  • 静磁场静磁学(Magnetostatics)是电磁学的分支,专门研究电流稳定(不随时间变化)的系统内磁场。在静电学中,电荷是稳定不变的;在这里,电流是稳定不变的。磁化强度不需要是静态的;静磁学的方程
  • 佝偻症佝偻病是一种会在儿童时期发生的人类疾病,原因是维生素D的摄取不足。常现于穷困地区,如非洲,起因多为营养不足。软骨症是类似的疾病,发生在成人。维生素D是产生促进钙质吸收的酶
  • 浮梁县浮梁县是中国江西省景德镇市的所辖的一个县,总面积为2867平方公里,2010年常住人口为303563人。唐武德四年(621年)析鄱阳县东域置新平县,后省入鄱阳县。开元四年(716年)以新平故地置
  • 埃德斯维勒埃德斯维勒是瑞士的城镇,位于该国西北部,由汝拉州负责管辖,面积3.31平方公里,海拔高度553米,2011年人口118,七成半人口信奉罗马天主教,人口密度每平方公里36人。
  • 2015年欧洲冠军联赛决赛2015年欧洲冠军联赛决赛是2014–15年欧洲冠军联赛的决赛, 这也是欧洲足联第60次举办的欧洲最高荣誉的足球俱乐部锦标,也是改制和改名欧洲冠军联赛后的第23次决赛。决赛于2015
  • 单声《单声》是由马来西亚歌手蔡忆雯的首张迷你专辑(Ep),于2011年11月10日发行
  • 薤(“薤”,拼音:xiè,注音:ㄒㄧㄝˋ,学名:),为五种荤菜之一。分布在柬埔寨、越南、日本、台湾、美国、老挝以及中国大陆的长江流域和以南各省区等地,生长于海拔700米至2,700米的地区。
  • 柳泽哲也柳泽哲也(5月28日-),日本资深男性动画师、动画导演、人物设计师。出身于冈山县。别名有柳泽テツヤ(柳沢テツヤ)、大神相马(大神ソウマ)。妻子藤井牧(日语:藤井まき)也从事动画师、人物