AICon日程100%就绪,9折倒计时最后一周 了解详情
写点什么

Google 发布 FarmHash,一个新的用于字符串的哈希函数系列

  • 2014-04-08
  • 本文字数:664 字

    阅读完需:约 2 分钟

Google 刚刚发布了 FarmHash ,一个新的用于字符串的哈希函数系列。FarmHash 从 CityHash 继承了许多技巧和技术,是它的后继。FarmHash 有多个目标,声称从多个方面改进了 CityHash。

Geoff Pike 是 Google 的软件工程师,该库由他和 Jyrki Alakuijala 共同编写。根据他的报道,虽然FarmHash 的开发一直受到Google 数据中心里常见的CPU 类型影响,但该库的目标之一是使开发人员可以快速便捷地将其应用在电话、平板电脑以及台式电脑上。正是因为这个原因,他们已经改进了现有的32 和64 位哈希实现。

Geoff 写道,与 CityHash 相比,FarmHash 的另一项改进是在多个特定于平台的实现之上提供了一个接口。这样,当开发人员只是想要一个用于哈希表的、快速健壮的哈希函数,而不需要在每个平台上都一样时,FarmHash 也能满足要求。

考虑了上述所有内容,FarmHash 的实现代码达到了大约 1500 行(不包括测试相关的代码),相比之下,CityHash 的代码大约为 600 行。读者可以在这里找到CityHash 的全面分析。

目前,FarmHash 只包含在32、64 和128 位平台上用于字节数组的哈希函数。未来开发计划包含了对整数、元组和其它数据的支持。

CityHash 的哈希算法被发现容易受到针对算法漏洞的攻击,该漏洞允许多个哈希冲突发生(哈希泛滥)。尽管没有已知的CityHash 漏洞利用程序,但这类攻击能够很快地让用了这种哈希算法的任何应用程序过载。该漏洞还影响了其它基于 MurmurHash 的主要哈希实现。目前还不清楚 FarmHash 是否能够免受相同漏洞的影响。

查看英文原文:**** Google publishes FarmHash, a new family of hash functions for strings

2014-04-08 22:119268
用户头像

发布了 256 篇内容, 共 85.8 次阅读, 收获喜欢 12 次。

关注

评论

发布
暂无评论
发现更多内容

TiDB 6.0 Placement Rules In SQL 使用实践

TiDB 社区干货传送门

管理与运维 版本测评 新版本/特性解读 6.x 实践

【故障解读】v5.1.1-调整变量 tidb_isolation_read_engines 影响 tiflash SQL 执行计划

TiDB 社区干货传送门

HTAP 场景实践

新版 TiDB 社区技术月刊,一站式 Get 社区全动态

TiDB 社区干货传送门

社区活动 故障排查/诊断 数据库架构设计 应用适配

TiKV缩容不掉如何解决?

TiDB 社区干货传送门

集群管理 故障排查/诊断 扩/缩容

一个小操作,SQL查询速度翻了1000倍。

TiDB 社区干货传送门

性能调优 实践案例 管理与运维 故障排查/诊断

TiDB v6.0.0(DMR) 缓存表初试

TiDB 社区干货传送门

6.x 实践

MVCC导致limit 1执行慢测试

TiDB 社区干货传送门

实践案例 管理与运维 性能测评

体验 TiSpark 基于 TiDB v6.0 (DMR) 最小实践

TiDB 社区干货传送门

实践案例 6.x 实践

Oceanbase和TiDB粗浅对比之 - 执行计划

TiDB 社区干货传送门

数据库架构设计 应用适配

TiDB 查询优化及调优系列(二)TiDB 查询计划简介

TiDB 社区干货传送门

单机 8 个 NUMA node 如何玩转 TiDB - AMD EPYC 服务器上的 TiDB 集群最优部署拓扑探索

TiDB 社区干货传送门

管理与运维 性能测评 数据库架构设计

TiFlash 源码阅读(一) TiFlash 存储层概览

TiDB 社区干货传送门

关于auto_random的几个知识点

TiDB 社区干货传送门

管理与运维

对Indexlookup的理解误区

TiDB 社区干货传送门

管理与运维

在华为 Kylin V10 SP1操作系统,HUAWEI,Kunpeng 920 CPU(4Cores)单机上模拟部署生产环境TiDB集群

TiDB 社区干货传送门

集群管理

TiDB 6.0 的「元功能」:Placement Rules in SQL 是什么?

TiDB 社区干货传送门

6.x 实践

TiDB上百T数据拆分实践

TiDB 社区干货传送门

迁移 管理与运维

我和TiDB的故事 | 毫无准备地不期而遇,却想说与你相遇好幸运

TiDB 社区干货传送门

社区活动

TiDB Numa 性能压测

TiDB 社区干货传送门

版本测评 性能测评

TiDB 查询优化及调优系列(一)TiDB 优化器简介

TiDB 社区干货传送门

TiDB Online DDL 在 TiCDC 中的应用

TiDB 社区干货传送门

迁移 TiDB 底层架构

记一次tidb离线环境下安装非本地镜像源组件的过程

TiDB 社区干货传送门

实践案例 管理与运维 安装 & 部署 应用适配

tiup修改参数显示成功但不生效

TiDB 社区干货传送门

本地Kind体验TiDB Operator最小实践

TiDB 社区干货传送门

实践案例

TiDB 在连锁快餐企业丨海量交易与实时分析的应用探索

TiDB 社区干货传送门

文盘Rust -- 起手式,CLI程序

TiDB 社区干货传送门

开发语言

tidb-v5.2.3内存使用率高的几个case

TiDB 社区干货传送门

select查询失败,报“no such file or directory”错误

TiDB 社区干货传送门

【故障解读】v5.3.0 BR 备份报错并且耗时比升级前更长

TiDB 社区干货传送门

备份 & 恢复

tidb 2.1升级到4.0操作文档

TiDB 社区干货传送门

迁移 版本升级

TiDB v5.1.2 - TiCDC 不同步,checkpointTs 不推进的问题排查

TiDB 社区干货传送门

实践案例 故障排查/诊断

Google发布FarmHash,一个新的用于字符串的哈希函数系列_Google_Sergio De Simone_InfoQ精选文章