matterbridge/vendor/github.com/klauspost/compress/zstd/internal/xxhash
dependabot[bot] dd3fb32ec7
Bump github.com/SevereCloud/vksdk/v2 from 2.13.0 to 2.13.1 (#1730)
Bumps [github.com/SevereCloud/vksdk/v2](https://github.com/SevereCloud/vksdk) from 2.13.0 to 2.13.1.
- [Release notes](https://github.com/SevereCloud/vksdk/releases)
- [Commits](https://github.com/SevereCloud/vksdk/compare/v2.13.0...v2.13.1)

---
updated-dependencies:
- dependency-name: github.com/SevereCloud/vksdk/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-07 20:30:09 +01:00
..
LICENSE.txt Bump github.com/SevereCloud/vksdk/v2 from 2.11.0 to 2.13.0 (#1698) 2022-01-28 23:48:40 +01:00
README.md Bump github.com/SevereCloud/vksdk/v2 from 2.11.0 to 2.13.0 (#1698) 2022-01-28 23:48:40 +01:00
xxhash_amd64.s Bump github.com/SevereCloud/vksdk/v2 from 2.13.0 to 2.13.1 (#1730) 2022-02-07 20:30:09 +01:00
xxhash_arm64.s Bump github.com/SevereCloud/vksdk/v2 from 2.13.0 to 2.13.1 (#1730) 2022-02-07 20:30:09 +01:00
xxhash_asm.go Bump github.com/SevereCloud/vksdk/v2 from 2.13.0 to 2.13.1 (#1730) 2022-02-07 20:30:09 +01:00
xxhash_other.go Bump github.com/SevereCloud/vksdk/v2 from 2.13.0 to 2.13.1 (#1730) 2022-02-07 20:30:09 +01:00
xxhash_safe.go Bump github.com/SevereCloud/vksdk/v2 from 2.11.0 to 2.13.0 (#1698) 2022-01-28 23:48:40 +01:00
xxhash.go Bump github.com/SevereCloud/vksdk/v2 from 2.11.0 to 2.13.0 (#1698) 2022-01-28 23:48:40 +01:00

xxhash

VENDORED: Go to github.com/cespare/xxhash for original package.

GoDoc Build Status

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.

This package provides a straightforward API:

func Sum64(b []byte) uint64
func Sum64String(s string) uint64
type Digest struct{ ... }
    func New() *Digest

The Digest type implements hash.Hash64. Its key methods are:

func (*Digest) Write([]byte) (int, error)
func (*Digest) WriteString(string) (int, error)
func (*Digest) Sum64() uint64

This implementation provides a fast pure-Go implementation and an even faster assembly implementation for amd64.

Benchmarks

Here are some quick benchmarks comparing the pure-Go and assembly implementations of Sum64.

input size purego asm
5 B 979.66 MB/s 1291.17 MB/s
100 B 7475.26 MB/s 7973.40 MB/s
4 KB 17573.46 MB/s 17602.65 MB/s
10 MB 17131.46 MB/s 17142.16 MB/s

These numbers were generated on Ubuntu 18.04 with an Intel i7-8700K CPU using the following commands under Go 1.11.2:

$ go test -tags purego -benchtime 10s -bench '/xxhash,direct,bytes'
$ go test -benchtime 10s -bench '/xxhash,direct,bytes'

Projects using this package