mirror of https://github.com/golang/go.git
hash/maphash: adding benchmarks for maphash
goos: linux goarch: arm64 pkg: hash/maphash BenchmarkHash8Bytes BenchmarkHash8Bytes 22568919 46.0 ns/op 173.80 MB/s BenchmarkHash320Bytes BenchmarkHash320Bytes 5243858 230 ns/op 1393.30 MB/s BenchmarkHash1K BenchmarkHash1K 1755870 660 ns/op 1550.60 MB/s BenchmarkHash8K BenchmarkHash8K 225688 5313 ns/op 1541.90 MB/s PASS ok hash/maphash 6.465s Change-Id: I5a909042a542135ebc47d639fea02dc46c900c1c Reviewed-on: https://go-review.googlesource.com/c/go/+/249079 Run-TryBot: Meng Zhuo <mzh@golangcn.org> Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
This commit is contained in:
parent
cbc0a7906c
commit
454300a617
|
|
@ -165,3 +165,32 @@ func TestSeedFromReset(t *testing.T) {
|
|||
// Make sure a Hash implements the hash.Hash and hash.Hash64 interfaces.
|
||||
var _ hash.Hash = &Hash{}
|
||||
var _ hash.Hash64 = &Hash{}
|
||||
|
||||
func benchmarkSize(b *testing.B, size int) {
|
||||
h := &Hash{}
|
||||
buf := make([]byte, size)
|
||||
b.SetBytes(int64(size))
|
||||
b.ResetTimer()
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
h.Reset()
|
||||
h.Write(buf)
|
||||
h.Sum64()
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkHash8Bytes(b *testing.B) {
|
||||
benchmarkSize(b, 8)
|
||||
}
|
||||
|
||||
func BenchmarkHash320Bytes(b *testing.B) {
|
||||
benchmarkSize(b, 320)
|
||||
}
|
||||
|
||||
func BenchmarkHash1K(b *testing.B) {
|
||||
benchmarkSize(b, 1024)
|
||||
}
|
||||
|
||||
func BenchmarkHash8K(b *testing.B) {
|
||||
benchmarkSize(b, 8192)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue