From 0e120dc4700273c23d10ef64f25663fa21b84e9b Mon Sep 17 00:00:00 2001 From: Josh Bleecher Snyder Date: Thu, 22 Dec 2016 17:20:50 -0800 Subject: Precalculate size of pending pgids in freelist.copyall This recovers the slight alloc regression in #636. --- freelist.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'freelist.go') diff --git a/freelist.go b/freelist.go index e07bf0a..de59aaa 100644 --- a/freelist.go +++ b/freelist.go @@ -49,7 +49,7 @@ func (f *freelist) pending_count() int { // copyall copies into dst a list of all free ids and all pending ids in one sorted list. // f.count returns the minimum length required for dst. func (f *freelist) copyall(dst []pgid) { - m := make(pgids, 0, len(f.pending)) // len(f.pending) undercounts, but it is a start + m := make(pgids, 0, f.pending_count()) for _, list := range f.pending { m = append(m, list...) } -- cgit v1.2.3