Skip to content

Commit

Permalink
chore: preallocate slices (#1842)
Browse files Browse the repository at this point in the history
* Preallocate slices

* Move slice allocs to right before they're used

* Revert slice assignments to append

* Don't preallocate for tests or deprecated code

* Don't preallocate too much
  • Loading branch information
estensen committed Nov 6, 2022
1 parent 14a3734 commit 21dc42b
Show file tree
Hide file tree
Showing 6 changed files with 9 additions and 19 deletions.
2 changes: 1 addition & 1 deletion core/peer/addrinfo.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,14 +86,14 @@ func AddrInfoFromP2pAddr(m ma.Multiaddr) (*AddrInfo, error) {

// AddrInfoToP2pAddrs converts an AddrInfo to a list of Multiaddrs.
func AddrInfoToP2pAddrs(pi *AddrInfo) ([]ma.Multiaddr, error) {
var addrs []ma.Multiaddr
p2ppart, err := ma.NewComponent("p2p", Encode(pi.ID))
if err != nil {
return nil, err
}
if len(pi.Addrs) == 0 {
return []ma.Multiaddr{p2ppart}, nil
}
addrs := make([]ma.Multiaddr, 0, len(pi.Addrs))
for _, addr := range pi.Addrs {
addrs = append(addrs, addr.Encapsulate(p2ppart))
}
Expand Down
4 changes: 2 additions & 2 deletions core/peer/record.go
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ func (r *PeerRecord) ToProtobuf() (*pb.PeerRecord, error) {
}

func addrsFromProtobuf(addrs []*pb.PeerRecord_AddressInfo) []ma.Multiaddr {
var out []ma.Multiaddr
out := make([]ma.Multiaddr, 0, len(addrs))
for _, addr := range addrs {
a, err := ma.NewMultiaddrBytes(addr.Multiaddr)
if err != nil {
Expand All @@ -243,7 +243,7 @@ func addrsFromProtobuf(addrs []*pb.PeerRecord_AddressInfo) []ma.Multiaddr {
}

func addrsToProtobuf(addrs []ma.Multiaddr) []*pb.PeerRecord_AddressInfo {
var out []*pb.PeerRecord_AddressInfo
out := make([]*pb.PeerRecord_AddressInfo, 0, len(addrs))
for _, addr := range addrs {
out = append(out, &pb.PeerRecord_AddressInfo{Multiaddr: addr.Bytes()})
}
Expand Down
2 changes: 1 addition & 1 deletion p2p/discovery/routing/routing_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ func TestDiscoveryRouting(t *testing.T) {

pch := r2.FindProvidersAsync(ctx, c, 20)

var allAIs []peer.AddrInfo
allAIs := make([]peer.AddrInfo, 0, len(pch))
for ai := range pch {
allAIs = append(allAIs, ai)
}
Expand Down
2 changes: 1 addition & 1 deletion p2p/discovery/util/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ var log = logging.Logger("discovery-util")

// FindPeers is a utility function that synchronously collects peers from a Discoverer.
func FindPeers(ctx context.Context, d discovery.Discoverer, ns string, opts ...discovery.Option) ([]peer.AddrInfo, error) {
var res []peer.AddrInfo

ch, err := d.FindPeers(ctx, ns, opts...)
if err != nil {
return nil, err
}

res := make([]peer.AddrInfo, 0, len(ch))
for pi := range ch {
res = append(res, pi)
}
Expand Down
2 changes: 1 addition & 1 deletion p2p/net/mock/mock_peernet.go
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ func (pn *peernet) ConnsToPeer(p peer.ID) []network.Conn {
return nil
}

var cs2 []network.Conn
cs2 := make([]network.Conn, 0, len(cs))
for c := range cs {
cs2 = append(cs2, c)
}
Expand Down
16 changes: 3 additions & 13 deletions p2p/protocol/circuitv2/util/pbconv.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,7 @@ func PeerToPeerInfoV1(p *pbv1.CircuitRelay_Peer) (peer.AddrInfo, error) {
}

func PeerInfoToPeerV1(pi peer.AddrInfo) *pbv1.CircuitRelay_Peer {
var addrs [][]byte
if len(pi.Addrs) > 0 {
addrs = make([][]byte, 0, len(pi.Addrs))
}
addrs := make([][]byte, 0, len(pi.Addrs))

for _, addr := range pi.Addrs {
addrs = append(addrs, addr.Bytes())
Expand All @@ -62,10 +59,7 @@ func PeerToPeerInfoV2(p *pbv2.Peer) (peer.AddrInfo, error) {
return peer.AddrInfo{}, err
}

var addrs []ma.Multiaddr
if len(p.Addrs) > 0 {
addrs = make([]ma.Multiaddr, 0, len(p.Addrs))
}
addrs := make([]ma.Multiaddr, 0, len(p.Addrs))

for _, addrBytes := range p.Addrs {
a, err := ma.NewMultiaddrBytes(addrBytes)
Expand All @@ -78,11 +72,7 @@ func PeerToPeerInfoV2(p *pbv2.Peer) (peer.AddrInfo, error) {
}

func PeerInfoToPeerV2(pi peer.AddrInfo) *pbv2.Peer {
var addrs [][]byte

if len(pi.Addrs) > 0 {
addrs = make([][]byte, 0, len(pi.Addrs))
}
addrs := make([][]byte, 0, len(pi.Addrs))

for _, addr := range pi.Addrs {
addrs = append(addrs, addr.Bytes())
Expand Down

0 comments on commit 21dc42b

Please sign in to comment.