internal/deephash: increase scratch space size

e66d4e4c81 added AppendTo methods
to some key types. Their marshaled form is longer than 64 bytes.

name    old time/op    new time/op    delta
Hash-8    15.5µs ± 1%    14.8µs ± 1%   -4.17%  (p=0.000 n=9+9)

name    old alloc/op   new alloc/op   delta
Hash-8    1.18kB ± 0%    0.47kB ± 0%  -59.87%  (p=0.000 n=10+10)

name    old allocs/op  new allocs/op  delta
Hash-8      12.0 ± 0%       6.0 ± 0%  -50.00%  (p=0.000 n=10+10)

This is still a bit worse than explicitly handling the types,
but much nicer.

Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
pull/1982/head
Josh Bleecher Snyder 4 years ago committed by Josh Bleecher Snyder
parent e66d4e4c81
commit 4b51fbf48c

@ -23,7 +23,7 @@ import (
func calcHash(v interface{}) string { func calcHash(v interface{}) string {
h := sha256.New() h := sha256.New()
b := bufio.NewWriterSize(h, h.BlockSize()) b := bufio.NewWriterSize(h, h.BlockSize())
scratch := make([]byte, 0, 64) scratch := make([]byte, 0, 128)
printTo(b, v, scratch) printTo(b, v, scratch)
b.Flush() b.Flush()
scratch = h.Sum(scratch[:0]) scratch = h.Sum(scratch[:0])

Loading…
Cancel
Save