Are you sure you want to delete this task? Once this task is deleted, it cannot be recovered.
|
|
6 years ago | |
|---|---|---|
| .. | ||
| LICENSE.txt | 6 years ago | |
| README.md | 6 years ago | |
| go.mod | 6 years ago | |
| go.sum | 6 years ago | |
| rotate.go | 6 years ago | |
| rotate19.go | 6 years ago | |
| xxhash.go | 6 years ago | |
| xxhash_amd64.go | 6 years ago | |
| xxhash_amd64.s | 6 years ago | |
| xxhash_other.go | 6 years ago | |
| xxhash_safe.go | 6 years ago | |
| xxhash_unsafe.go | 6 years ago | |
xxhash is a Go implementation of the 64-bit
xxHash algorithm, XXH64. This is a
high-quality hashing algorithm that is much faster than anything in the Go
standard library.
The API is very small, taking its cue from the other hashing packages in the
standard library:
$ go doc github.com/cespare/xxhash !
package xxhash // import "github.com/cespare/xxhash"
Package xxhash implements the 64-bit variant of xxHash (XXH64) as described
at http://cyan4973.github.io/xxHash/.
func New() hash.Hash64
func Sum64(b []byte) uint64
func Sum64String(s string) uint64
This implementation provides a fast pure-Go implementation and an even faster
assembly implementation for amd64.
Here are some quick benchmarks comparing the pure-Go and assembly
implementations of Sum64 against another popular Go XXH64 implementation,
github.com/OneOfOne/xxhash:
| input size | OneOfOne | cespare (purego) | cespare |
|---|---|---|---|
| 5 B | 416 MB/s | 720 MB/s | 872 MB/s |
| 100 B | 3980 MB/s | 5013 MB/s | 5252 MB/s |
| 4 KB | 12727 MB/s | 12999 MB/s | 13026 MB/s |
| 10 MB | 9879 MB/s | 10775 MB/s | 10913 MB/s |
These numbers were generated with:
$ go test -benchtime 10s -bench '/OneOfOne,'
$ go test -tags purego -benchtime 10s -bench '/xxhash,'
$ go test -benchtime 10s -bench '/xxhash,'
类似 Grafana 可接入多种数据源,Grafana 擅长可视化,夜莺擅长告警管理
Go SQL Text Python PLSQL other