bytes: don't compact Buffer so aggressively
benchmark old ns/op new ns/op delta
BenchmarkBufferNotEmptyWriteRead 848416 819983 -3.35%
Update #5154
R=golang-dev, gri, robryk
CC=golang-dev
https://golang.org/cl/8173043
diff --git a/src/pkg/bytes/buffer_test.go b/src/pkg/bytes/buffer_test.go
index d629809..5b0b8b5 100644
--- a/src/pkg/bytes/buffer_test.go
+++ b/src/pkg/bytes/buffer_test.go
@@ -490,8 +490,10 @@
}
}
cap1 := b.Cap()
- if cap1 > cap0 {
- t.Errorf("buffer cap = %d; too big", cap1)
+ // (*Buffer).grow allows for 2x capacity slop before sliding,
+ // so set our error threshold at 3x.
+ if cap1 > cap0*3 {
+ t.Errorf("buffer cap = %d; too big (grew from %d)", cap1, cap0)
}
}