Murmur哈希

✍ dations ◷ 2025-06-08 22:58: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。

相关

  • 黎明号卫星本体:长 2.36 米, 高 1.64 米,宽 1.77 米黎明号(英语:Dawn),也称为曙光号,是美国宇航局的无人空间探测器,于2007年9月27日发射升空,目的是探索小行星带最大的两颗原行星:灶神星与
  • 塔希尔王朝塔希尔王朝(波斯语:طاهریان‎,转写:Tâheriyân, 发音:)是在820年至872年间统治大伊朗东部、呼罗珊地区(今伊朗、阿富汗、塔吉克、土库曼及乌兹别克部分地区)的波斯王朝。
  • 数据库权利数据库权利也称为数据库特殊权利,是因现有法律资源无法保护数据库制作者权益而提出的数据库权利保护模式,是在著作权法、民法以及反不正当竞争法外设立的一类知识产权。现在世
  • 新竹市公车新竹市市区公车是指以新竹市政府为主管机关(承办单位:交通处)之公车路线,于1972年开始经营,现有超过40条路线。经营者为新竹客运、国光客运、金牌客运、科技之星和苗栗客运,目前全
  • 希尔斯堡惨剧希尔斯堡惨案(Hillsborough Disaster)是1989年4月15日在英格兰谢菲尔德的希尔斯堡球场发生的踩踏事故,造成96名利物浦球迷死亡。事件起因是由于大量球迷在短时间内同时由球场其
  • 托尼·班奈特安东尼·多米尼克·“托尼”·贝内德托(英语:Anthony Dominick "Tony" Benedetto,1926年8月3日-),艺名为托尼·班奈特(Tony Bennett),是一位美国歌手,演唱传统流行乐标准曲(英语:Traditi
  • 尼尔·戴门尼尔·戴门(英语:Neil Leslie Diamond,1941年1月24日-)是美国歌手兼作家、音乐人及演员。
  • 刘达 (弘治进士)刘达(?年-?年),山东滨州(今山东省滨州市)人,武骧左卫籍,明朝政治人物,弘治己未进士。弘治十二年(1499年)己未科进士。初官刑部主事。正德二年(1507年)陞通政司右参议。历右通政、左通政。正
  • 傅里叶分析傅里叶分析,是数学的一个分支领域。它研究如何将一个函数或者信号表达为基本波形的叠加。它研究并扩展傅里叶级数和傅里叶变换的概念。基本波形称为调和函数,调和分析因此得名
  • 卡奇布翼龙属卡奇布翼龙(属名:,意为“天神之翼”)又名天王翼龙,是翼龙目喙嘴翼龙科的一属,化石发现于古巴比那尔德里奥的哈瓜组(Jagua Formation)地层,地质年代为侏罗纪晚期的牛津阶中晚期。在200