Skip to content
This repository has been archived by the owner on Aug 19, 2022. It is now read-only.

Commit

Permalink
Merge pull request #86 from libp2p/fix/alloc-less
Browse files Browse the repository at this point in the history
reduce allocations when adding addrs
  • Loading branch information
Stebalien committed Jun 28, 2019
2 parents 693780b + 491519a commit 06edc32
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions pstoremem/addr_book.go
Original file line number Diff line number Diff line change
Expand Up @@ -154,10 +154,10 @@ func (mab *memoryAddrBook) AddAddrs(p peer.ID, addrs []ma.Multiaddr, ttl time.Du
log.Warningf("was passed nil multiaddr for %s", p)
continue
}
addrstr := string(addr.Bytes())
a, found := amap[addrstr]
asBytes := addr.Bytes()
a, found := amap[string(asBytes)] // won't allocate.
if !found || exp.After(a.Expires) {
amap[addrstr] = &expiringAddr{Addr: addr, Expires: exp, TTL: ttl}
amap[string(asBytes)] = &expiringAddr{Addr: addr, Expires: exp, TTL: ttl}

mab.subManager.BroadcastAddr(p, addr)
}
Expand Down Expand Up @@ -188,14 +188,14 @@ func (mab *memoryAddrBook) SetAddrs(p peer.ID, addrs []ma.Multiaddr, ttl time.Du
log.Warningf("was passed nil multiaddr for %s", p)
continue
}
// re-set all of them for new ttl.
addrstr := string(addr.Bytes())

// re-set all of them for new ttl.
aBytes := addr.Bytes()
if ttl > 0 {
amap[addrstr] = &expiringAddr{Addr: addr, Expires: exp, TTL: ttl}
amap[string(aBytes)] = &expiringAddr{Addr: addr, Expires: exp, TTL: ttl}
mab.subManager.BroadcastAddr(p, addr)
} else {
delete(amap, addrstr)
delete(amap, string(aBytes))
}
}
}
Expand Down

0 comments on commit 06edc32

Please sign in to comment.