在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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:119999
用户头像

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

关注

评论

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

从零开始学Java系列之Java是什么?它到底是个啥?

千锋IT教育

记录一次TiDB v5.2.3迁移到v6.1.0的过程

TiDB 社区干货传送门

迁移 实践案例

数据卡顿怎么办,瓴羊Quick BI强劲数据引擎来帮忙

小偏执o

瓴羊Quick BI工具,为数据分析人员带来帮助

流量猫猫头

大数据

又一巅峰神作!14年工作经验大咖出品“JVM&G1 GC深入学习手册”

钟奕礼

Java java面试 java编程 程序员‘

云享·人物丨造梦、探梦、筑梦,三位开发者在华为云上的寻梦之旅

华为云开发者联盟

云计算 后端 华为云

Python(文件操作)

浅辄

Python 文件 11月月更

聊聊Mybatis的类型转换的别名管理

急需上岸的小谢

11月月更

linux高可用软件有哪些?重点推荐哪款?

行云管家

高可用 双机热备

Python太难懂?火山引擎数智平台这款产品可以了解一下

字节跳动数据平台

Python 大数据 数据分析

OceanBase 4.0 解读:分布式查询性能提升,我们是如何思考的?

OceanBase 数据库

数据库 oceanbase

商业智能BI工具如何选择?公司方面需学习具体方法

流量猫猫头

大数据

多点DMALL × Apache Kyuubi:构建统一SQL Proxy探索实践

网易数帆

hadoop spark 开源 Apache Kyuubi

六年三次架构迭代,OceanBase 单机分布式一体化会是大势所趋吗?

OceanBase 数据库

数据库 oceanbase

小间距LED显示屏既是机遇也是挑战

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家

java培训程序员失业后的发展方向

小谷哥

BSN-DDC基础网络DDC SDK详细设计(六):交易查询、区块查询、签名事件

BSN研习社

BSN

从元宇宙、地产数字化到呼叫中心,华为云携手伙伴共创新价值

华为云开发者联盟

云计算 华为云 元宇宙

高性能数据访问中间件 OBProxy(六):一文讲透数据路由

OceanBase 数据库

oceanbase

记一次TiDB数据库Insert语句执行报错的处理过程

TiDB 社区干货传送门

自制操作系统日记(8):变量显示

操作系统

InterruptedException异常会对并发编程产生哪些影响?

冰河

并发编程 多线程 高并发 协程 异步编程

不会还有人不知道,面试靠这1700道java面试八股文题库就能杀进大厂吧

程序知音

Java java面试 java架构 后端技术 Java面试八股文

基于 RocketMQ 的 Dubbo-go 通信新范式

Apache RocketMQ

RocketMQ RPC dubbo-go dubbogo

袋鼠云数据湖平台「DataLake」,存储全量数据,打造数字底座

袋鼠云数栈

数据中台 数据仓库 数据湖 数据中台场景实践 数据湖分析

ThreadPool的线程开启、线程等待、线程池的设置、定时功能

C++后台开发

线程 线程池 后端开发 C++开发 ThreadPool

进腾讯了!全靠着这两份近千页的Redis+Netty技术笔记

小小怪下士

Java redis 程序员 面试 Netty

流程编排、如此简单-通用流程编排组件JDEasyFlow介绍

京东科技开发者

数据库 架构 服务端 流程引擎 流程编排

阿里云与信通院邀您参与云原生安全用户调研

阿里巴巴云原生

阿里云 云原生

先到先得!阿里淘系内传322页Java并发编程核心讲义学习笔记

钟奕礼

Java java面试 java编程 程序员 java

我从外包辞职了,10000小时后,走进字节跳动拿了offer

钟奕礼

Java java面试 java编程 程序员‘

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