Murmur哈希

✍ dations ◷ 2025-10-19 20:18:41 #散列函数

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。

相关

  • 不等鞭毛门 (Heterokonta)不等鞭毛总门(学名:Heterokonta)旧为不等鞭毛门,是真核生物的主要演化支之一,已知的下辖物种超过10万个物种,当中大多数属于藻类,从多细胞的大型藻类海带,到单细胞的各种浮游硅藻,这
  • 粤菜粤菜,是中国八大菜系之一,也是四大中国菜系,亦称广东菜、广府菜,是指广府民系的代表性菜肴。值得注意的是,虽然客家民系和潮汕民系也生活在广东省境内,但客家菜和潮州菜(潮汕菜)均不
  • 特伦德拉格特伦德拉格(挪威语:Trøndelag)是挪威中部一郡。该郡最早成立于1687年。1804年该郡被分成南特伦德拉格和北特伦德拉格两郡,2018年两郡重新合并。特伦德拉格和邻近的默勒-鲁姆斯
  • 960年三月二十三日—— 妈祖
  • 收音机收音机,是一种小型的无线电接收机。主要用于接受无线电电台的广播节目,收听无线电发射台,通常是广播电台发送的娱乐及资讯节目。它有异于军事用途的无线电接收器,后者不是广播
  • 伞菌目伞菌目(学名:Agaricales),又名磨菇目,是伞菌纲的一目。本目包含33科、413属和超过13000种已经描述的物种,其中包括5个化石属。本目所包含的种类广泛,从最常见的洋菇,致命的毒鹅膏和
  • 礼部礼部是中国古代官署之一。南北朝北周时开始设立,在《周礼》中相当于春官,其长官礼部尚书,有时以“大宗伯”为代称。隋唐时已有礼部,为六部之一,掌礼部、祠部、主客、膳部。其后历
  • 哈兹卡·欧斯莫斯卡哈兹卡·欧斯莫斯卡(波兰语:Halszka Osmólska,1930年9月15日-2008年3月31日),波兰古生物学家,专事蒙古恐龙与原始鳄形超目的相关研究,发表过恐手龙、似鸡龙、倾头龙等十余个蒙古恐
  • 戴维·卡普戴维·卡普 (英语:David Karp, 1986年7月6日-)是一位美国企业家和网页开发者。1986年出生于美国纽约布鲁克林区,成长于曼哈顿上西城,11岁时学习HTML和设计网站,15岁辍学在家自学,1
  • 森川清治郎森川清治郎(1861年-1902年4月7日)是台湾日治时期的日本警察,去世后被台湾人奉为神明,尊称为义爱公,俗称日本王爷,奉于东石富安宫等台湾寺庙。森川1861年生于横滨市,1892年与兜木千代