mirror of
https://github.com/golang/go
synced 2024-11-26 07:27:59 -07:00
hash/maphash: increase the buffer size
This helps a lot for larger writes. name old time/op new time/op delta Hash8Bytes-8 16.5ns ± 4% 16.8ns ± 2% +1.76% (p=0.000 n=29+30) Hash320Bytes-8 55.0ns ± 2% 41.4ns ± 2% -24.64% (p=0.000 n=28+28) Hash1K-8 190ns ± 2% 130ns ± 3% -31.65% (p=0.000 n=30+30) Hash8K-8 1.57µs ± 2% 1.05µs ± 3% -33.01% (p=0.000 n=30+29) name old speed new speed delta Hash8Bytes-8 485MB/s ± 4% 476MB/s ± 2% -1.73% (p=0.000 n=29+30) Hash320Bytes-8 5.82GB/s ± 2% 7.72GB/s ± 3% +32.55% (p=0.000 n=28+29) Hash1K-8 5.39GB/s ± 2% 7.88GB/s ± 3% +46.32% (p=0.000 n=30+30) Hash8K-8 5.21GB/s ± 2% 7.77GB/s ± 3% +49.28% (p=0.000 n=30+29) Updates #42710 Change-Id: Idaf4b2a8a41fc62fc16b54c9358cf2cc7009cf29 Reviewed-on: https://go-review.googlesource.com/c/go/+/278760 Trust: Josh Bleecher Snyder <josharian@gmail.com> Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
This commit is contained in:
parent
64d323f45a
commit
b0733ba12d
@ -68,7 +68,7 @@ type Hash struct {
|
||||
// The buffer ensures that writes depend only on the sequence of bytes,
|
||||
// not the sequence of WriteByte/Write/WriteString calls,
|
||||
// by always calling rthash with a full buffer (except for the tail).
|
||||
const bufSize = 64
|
||||
const bufSize = 128
|
||||
|
||||
// initSeed seeds the hash if necessary.
|
||||
// initSeed is called lazily before any operation that actually uses h.seed/h.state.
|
||||
|
Loading…
Reference in New Issue
Block a user