Skip to content

fix: when creating dial targets, encapsulate PeerIds last#1389

Merged
mpetrunic merged 1 commit intomasterfrom
fix/encapsulate-peer-id-last
Sep 23, 2022
Merged

fix: when creating dial targets, encapsulate PeerIds last#1389
mpetrunic merged 1 commit intomasterfrom
fix/encapsulate-peer-id-last

Conversation

@achingbrain
Copy link
Copy Markdown
Member

It turns out because Multiaddr.encapsulate stringifies the Multiaddr it's a suprisingly expensive operation so here we switch the order of our Multiaddr pipeline around so we filter undialable addresses (e.g. unsupported transports etc) before encapsulating the PeerId onto a Multiaddr we'd then just ignore.

It turns out because `Multiaddr.encapsulate` stringifies the `Multiaddr`
it's a [suprisingly expensive operation](multiformats/js-multiaddr#275 (comment))
so here we switch the order of our `Multiaddr` pipeline around so
we filter undialable addresses (e.g. unsupported transports etc) before
encapsulating the `PeerId` onto a `Multiaddr` we'd then just ignore.
@achingbrain
Copy link
Copy Markdown
Member Author

CPU usage before (left hand side) and after (right hand side) running locally with this change:

image

@mpetrunic mpetrunic merged commit ec02351 into master Sep 23, 2022
@mpetrunic mpetrunic deleted the fix/encapsulate-peer-id-last branch September 23, 2022 08:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants