前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >「Go开源包」xxhash:比标准库更快,基于xxHash算法实现的64位的整型hash值

「Go开源包」xxhash:比标准库更快,基于xxHash算法实现的64位的整型hash值

作者头像
Go学堂
发布2023-08-29 16:45:02
1.2K0
发布2023-08-29 16:45:02
举报
文章被收录于专栏:Go工具箱

大家好,我是渔夫子。

今天给大家推荐一个xxhash库,该库是go语言实现的xxHash算法,比标准库性能更高,最终生成一个64位的整型hash值。项目地址:https://github.com/cespare/xxhash Star:1.5k Used By:52.7k 根据使用量看起来是不是很流行。同时该包也是xxHash收录的实现。

什么是xxHash

xxHash是一种速度极快的非加密哈希算法,在RAM速度限制下工作。它有四种类型(XXH32、XXH64、XXH3_64bits和XXH3_128bits)。最新的变体XXH3全面提高了性能,尤其是在小数据方面。

谁在用xxHash

从官方https://xxhash.com/ 上可以看到,很多著名的大型软件都在使用xxHash算法,包括大家熟知的MySQL、Linux。如下:

cespare/xxhash包的使用

该包提供的API非常简单,如下:

代码语言:javascript
复制
func Sum64(b []byte) uint64
func Sum64String(s string) uint64
type Digest struct{ ... }
    func New() *Digest

使用示例:

代码语言:javascript
复制
package main

import (
 "fmt"
 "github.com/cespare/xxhash/v2"
)

func main() {
 h := xxhash.Sum64([]byte("Hello"))
 fmt.Println(h) //输出753694413698530628

 has := xxhash.New()
 has.WriteString("Hello")
 h4 := has.Sum64()
 fmt.Println(h4) //输出753694413698530628
}

以上就是今天给大家推荐的开源包。如果你有使用过优秀的开源包,欢迎留言推荐。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Go学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是xxHash
  • 谁在用xxHash
  • cespare/xxhash包的使用
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档