Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

常用经典哈希函数Go语言实现,提供uint32uint64类型的哈希函数。

使用方式

Code Block
languagego
import "github.com/gogf/gf/v2/encoding/ghash"

...

接口文档

https://godocpkg.go.orgdev/github.com/gogf/gf/v2/encoding/ghash

基准测试:

Code Block
languagexml
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