哈希算法 xxHash 介绍和使用

发布于 2022-09-23 23:59:18 字数 2567 浏览 286 评论 0

在阅读代码 freecache 的过程中,发现引用到了 xxHash,然后顺势又了解一下 xxHash 是个啥。

xxHash 是一种非常快的非密码散列算法,工作速度接近 RAM 限制。 它分为两种形式: 32位和64位。

基准

基准测试 使用由 Austin Appleby 在 Windows Seven 32位上用 Visual c 以单线程模式编译的开源 smhashher 程序。 参考系统使用 Core 2 Duo@3.0 GHz。

NameSpeed 速度Quality 品质Author 作者
xxHash 2. xxHash5.4 GB/s 5.4 gb / s10Y.C.
MurmurHash 3a 3 a2.7 GB/s 2.7 gb / s10Austin Appleby 奥斯汀 · 阿普尔比
SBox1.4 GB/s 1.4 gb / s9Bret Mulvey 布雷特 · 马尔维
Lookup31.2 GB/s 1.2 gb / s9Bob Jenkins 鲍勃 · 詹金斯
CityHash64 641.05 GB/s 1.05 gb / s10Pike & Alakuijala
FNV 国家自然保护联合会0.55 GB/s 0.55 gb / s5Fowler, Noll, Vo 福勒,诺尔,沃
CRC320.43 GB/s 0.43 gb / s9 
MD5-320.33 GB/s 0.33 gb / s10Ronald L.Rivest 罗纳德 · 里维斯特
SHA1-320.28 GB/s 0.28 gb / s10 

其中 Quality 是对散列函数质量的度量。 这取决于是否成功通过 SMHasher 测试集。 10分是个完美的分数。

非加密现代 hash 列表

非加密现代 hash 列表:

年份算法作者使用者
2006lookup3Bob Jenkins 
2008MurmurHashAustin Applebyredis
2011SpookyHashBob Jenkins 
2011CityHashgoogle 
2012xxhashY.C. 
2014FarmHashgoogle 

hash 算法应用 -- 列表

  1. 负载均衡,分布式缓存节点调度、分布式节点调度
  2. Hash 表数据字典(压缩、索引)、缓存等
  3. 安全相关 密码表、数字签名(SHA)、文件校验(MD5)、鉴权协议
  4. 海量数据处理 bloom filter

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

寄居者

暂无简介

文章
评论
27 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文