alertmanager/vendor/github.com/cespare/xxhash
stuart nelson 1e34f29532 Filter alerts (#633)
* Vendor dependencies.

This updates several old dependencies, removes
some that are no longer needed, and adds
`pkg/labels` from prometheus `dev-2.0` branch.

* Add metrics selector parsing code

This is a temporary simplified re-implementation
of promQL's metric selector parsing.

* Add alerts filtering

Filter alerts through `?filter=` query string.

* Add silences filtering

Filter silences through `?filter=` query string.

* Move `parse` to `pkg/parse`
2017-03-16 11:16:10 +01:00
..
LICENSE.txt Filter alerts (#633) 2017-03-16 11:16:10 +01:00
README.md Filter alerts (#633) 2017-03-16 11:16:10 +01:00
xxhash.go Filter alerts (#633) 2017-03-16 11:16:10 +01:00
xxhash_amd64.go Filter alerts (#633) 2017-03-16 11:16:10 +01:00
xxhash_amd64.s Filter alerts (#633) 2017-03-16 11:16:10 +01:00
xxhash_other.go Filter alerts (#633) 2017-03-16 11:16:10 +01:00

README.md

xxhash

GoDoc

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.

Benchmarks

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 (noasm) cespare
5 B 438.34 MB/s 596.40 MB/s 711.11 MB/s
100 B 3676.54 MB/s 4301.40 MB/s 4598.95 MB/s
4 KB 8128.64 MB/s 8840.83 MB/s 10549.72 MB/s
10 MB 7335.19 MB/s 7736.64 MB/s 9024.04 MB/s

Projects using this package