大家好,我是渔夫子。
今天给大家推荐一个xxhash库,该库是go语言实现的xxHash算法,比标准库性能更高,最终生成一个64位的整型hash值。项目地址:https://github.com/cespare/xxhash Star:1.5k Used By:52.7k 根据使用量看起来是不是很流行。同时该包也是xxHash收录的实现。
xxHash是一种速度极快的非加密哈希算法,在RAM速度限制下工作。它有四种类型(XXH32、XXH64、XXH3_64bits和XXH3_128bits)。最新的变体XXH3全面提高了性能,尤其是在小数据方面。
从官方https://xxhash.com/ 上可以看到,很多著名的大型软件都在使用xxHash算法,包括大家熟知的MySQL、Linux。如下:
该包提供的API非常简单,如下:
func Sum64(b []byte) uint64
func Sum64String(s string) uint64
type Digest struct{ ... }
func New() *Digest
使用示例:
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
}
以上就是今天给大家推荐的开源包。如果你有使用过优秀的开源包,欢迎留言推荐。