diff options
author | Meng Zhuo <mzh@golangcn.org> | 2020-08-21 11:11:32 +0800 |
---|---|---|
committer | Keith Randall <khr@golang.org> | 2020-08-21 05:30:14 +0000 |
commit | 454300a617b35a417e7595ff93c6e2e059fe1374 (patch) | |
tree | 561f3dba019111f49a9f409e3a2f742e9cf28f13 /src/hash | |
parent | cbc0a7906cfb4c82f850d35ffdb7eb0d674cc9b1 (diff) | |
download | go-454300a617b35a417e7595ff93c6e2e059fe1374.tar.gz go-454300a617b35a417e7595ff93c6e2e059fe1374.zip |
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>
Diffstat (limited to 'src/hash')
-rw-r--r-- | src/hash/maphash/maphash_test.go | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/hash/maphash/maphash_test.go b/src/hash/maphash/maphash_test.go index caea43a8c8..daf6eb4786 100644 --- a/src/hash/maphash/maphash_test.go +++ b/src/hash/maphash/maphash_test.go @@ -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) +} |