常用经典哈希函数Go语言实现,提供uint32
及uint64
类型的哈希函数。
使用方式:
Code Block | ||
---|---|---|
| ||
import "github.com/gogf/gf/v2/encoding/ghash" |
...
接口文档:
https://godocpkg.go.orgdev/github.com/gogf/gf/v2/encoding/ghash
基准测试:
Code Block | ||
---|---|---|
| ||
goos: darwin goarch: amd64 pkg: github.com/gogf/gf/v2/encoding/ghash cpu: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz Benchmark_BKDR Benchmark_BKDR-12 5777119339315165 1926.2688 ns/op Benchmark_BKDR64 Benchmark_BKDR64-12 4836640262891215 22.2961 ns/op Benchmark_BKDR64Str Benchmark_BKDR64Str-12 15489008 76.86 ns/op Benchmark_SDBM Benchmark_SDBM-12 6204781349689925 1925.2140 ns/op Benchmark_SDBM64 Benchmark_SDBM64-12 5355082848860472 2224.5338 ns/op Benchmark_SDBM64Str Benchmark_SDBM64Str-12 14554824 78.05 ns/op Benchmark_RS Benchmark_RS-12 6243422839463418 1925.2252 ns/op Benchmark_SRS64 Benchmark_SRS64-12 5381882853318370 22.57 ns/op Benchmark_SRS64Str Benchmark_SRS64Str-12 14620653 77.53 19.45 ns/op Benchmark_JS Benchmark_JS-12 6306862553751033 1923.2720 ns/op Benchmark_JS64 Benchmark_JS64-12 5278707062440287 2219.5725 ns/op Benchmark_JS64Str Benchmark_JS64Str-12 15130551 78.44 ns/op Benchmark_PJW Benchmark_PJW-12 4272638242439626 2827.0585 ns/op Benchmark_PJW64 Benchmark_PJW64-12 3165148537491696 37.24 ns/op Benchmark_PJW64Str Benchmark_PJW64Str-12 17988242 66.14 33.28 ns/op Benchmark_ELF Benchmark_ELF-12 3874306038034584 3231.2774 ns/op Benchmark_ELF64 Benchmark_ELF64-12 4434719044047201 27.21 ns/op Benchmark_ELF64Str Benchmark_ELF64Str-12 21851034 54.08 58 ns/op Benchmark_DJB Benchmark_DJB-12 6256755046994352 1922.1960 ns/op Benchmark_DJB64 Benchmark_DJB64-12 4845778561980186 22.59 ns/op Benchmark_DJB64Str Benchmark_DJB64Str-12 17026551 70.0019.19 ns/op Benchmark_AP Benchmark_AP-12 2972910329544234 40.2558 ns/op Benchmark_AP64 Benchmark_AP64-12 2834216028123783 42.93 ns/op Benchmark_AP64Str Benchmark_AP64Str-12 13015425 91.2148 ns/op |