mirror of
https://github.com/golang/go
synced 2024-11-19 04:54:41 -07:00
fmt: hold on to all free buffers, regardless of size
This code made sense before fmt switched to using sync.Pool, but a sync.Pool clears all items on GC, so not reusing something based on size is just a waste of memory. Change-Id: I201312b0ee6c572ff3c0ffaf71e42623a160d23f Reviewed-on: https://go-review.googlesource.com/21480 Reviewed-by: Rob Pike <r@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
163ff700b8
commit
0656da910a
@ -132,10 +132,6 @@ func newPrinter() *pp {
|
||||
|
||||
// free saves used pp structs in ppFree; avoids an allocation per invocation.
|
||||
func (p *pp) free() {
|
||||
// Don't hold on to pp structs with large buffers.
|
||||
if cap(p.buf) > 1024 {
|
||||
return
|
||||
}
|
||||
p.buf = p.buf[:0]
|
||||
p.arg = nil
|
||||
p.value = reflect.Value{}
|
||||
|
Loading…
Reference in New Issue
Block a user