From eaa5f7e9e7b10d97f4c119fede0b627dda2d9a1c Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Tue, 5 Dec 2017 17:37:20 -0800 Subject: [PATCH] preallocate AddrStream buffer --- addr_manager.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addr_manager.go b/addr_manager.go index 4dba9b0..262f6cf 100644 --- a/addr_manager.go +++ b/addr_manager.go @@ -267,7 +267,7 @@ func (mgr *AddrManager) AddrStream(ctx context.Context, p peer.ID) <-chan ma.Mul mgr.addrSubs[p] = append(mgr.addrSubs[p], sub) baseaddrset := mgr.addrs[p] - var initial []ma.Multiaddr + initial := make([]ma.Multiaddr, 0, len(baseaddrset)) for _, a := range baseaddrset { initial = append(initial, a.Addr) } @@ -277,7 +277,7 @@ func (mgr *AddrManager) AddrStream(ctx context.Context, p peer.ID) <-chan ma.Mul go func(buffer []ma.Multiaddr) { defer close(out) - sent := make(map[string]bool) + sent := make(map[string]bool, len(buffer)) var outch chan ma.Multiaddr for _, a := range buffer {