Skip to content

bug: fix the latency issue with ping exchange#5

Merged
lla-dane merged 5 commits into
masterfrom
latency
Apr 13, 2026
Merged

bug: fix the latency issue with ping exchange#5
lla-dane merged 5 commits into
masterfrom
latency

Conversation

@lla-dane
Copy link
Copy Markdown
Owner

@lla-dane lla-dane commented Apr 13, 2026

Optimized the read/write path in the whole stack for minimizing ping-exchange latency.

Sequential ping rtt benchmarks in microseconds:

Command => ping /ip4/127.0.0.1/tcp/33475/p2p/9UpEicBWRbjja8DaMfCwv5XHW5XaY3Pk19T1ubibykN6 
WARN Making a connection first: 9UpEicBWRbjja8DaMfCwv5XHW5XaY3Pk19T1ubibykN6
INFO New peer connected: 9UpEicBWRbjja8DaMfCwv5XHW5XaY3Pk19T1ubibykN6
DEBUG Ping rtt exchange: RTT = [319]
DEBUG Ping rtt exchange: RTT = [303]
DEBUG Ping rtt exchange: RTT = [296]
DEBUG Ping rtt exchange: RTT = [254]
DEBUG Ping rtt exchange: RTT = [186]
DEBUG Ping rtt exchange: RTT = [226]
DEBUG Ping rtt exchange: RTT = [258]
DEBUG Ping rtt exchange: RTT = [275]
DEBUG Ping rtt exchange: RTT = [262]
DEBUG Ping rtt exchange: RTT = [226]

with an avg of ~260μs. Still a ~100μs slower a compared to rust-libp2p with an avg rtt of ~160μs

soi@soiarch ~/Desktop/rust-libp2p/examples/ping ❯ cargo run --release -- /ip4/127.0.0.1/tcp/32791
    Finished `release` profile [optimized] target(s) in 0.20s
     Running `/home/soi/Desktop/rust-libp2p/target/release/ping-example /ip4/127.0.0.1/tcp/32791`
Dialed /ip4/127.0.0.1/tcp/32791
Listening on /ip4/127.0.0.1/tcp/43113
Listening on /ip4/172.20.108.39/tcp/43113
Listening on /ip4/172.16.68.81/tcp/43113
Event { peer: PeerId("12D3KooWQneXF5e57wLnhcSPcYF9peXqMLyk2SjQtGaxk94DjVFi"), connection: ConnectionId(1), result: Ok(55.594µs) }
Event { peer: PeerId("12D3KooWQneXF5e57wLnhcSPcYF9peXqMLyk2SjQtGaxk94DjVFi"), connection: ConnectionId(1), result: Ok(210.968µs) }
Event { peer: PeerId("12D3KooWQneXF5e57wLnhcSPcYF9peXqMLyk2SjQtGaxk94DjVFi"), connection: ConnectionId(1), result: Ok(136.648µs) }
Event { peer: PeerId("12D3KooWQneXF5e57wLnhcSPcYF9peXqMLyk2SjQtGaxk94DjVFi"), connection: ConnectionId(1), result: Ok(198.665µs) }
Event { peer: PeerId("12D3KooWQneXF5e57wLnhcSPcYF9peXqMLyk2SjQtGaxk94DjVFi"), connection: ConnectionId(1), result: Ok(198.314µs) }
Event { peer: PeerId("12D3KooWQneXF5e57wLnhcSPcYF9peXqMLyk2SjQtGaxk94DjVFi"), connection: ConnectionId(1), result: Ok(246.965µs) }
Event { peer: PeerId("12D3KooWQneXF5e57wLnhcSPcYF9peXqMLyk2SjQtGaxk94DjVFi"), connection: ConnectionId(1), result: Ok(175.08µs) }
Event { peer: PeerId("12D3KooWQneXF5e57wLnhcSPcYF9peXqMLyk2SjQtGaxk94DjVFi"), connection: ConnectionId(1), result: Ok(170.291µs) }
Event { peer: PeerId("12D3KooWQneXF5e57wLnhcSPcYF9peXqMLyk2SjQtGaxk94DjVFi"), connection: ConnectionId(1), result: Ok(169.46µs) }
Event { peer: PeerId("12D3KooWQneXF5e57wLnhcSPcYF9peXqMLyk2SjQtGaxk94DjVFi"), connection: ConnectionId(1), result: Ok(185.34µs) }
Event { peer: PeerId("12D3KooWQneXF5e57wLnhcSPcYF9peXqMLyk2SjQtGaxk94DjVFi"), connection: ConnectionId(1), result: Ok(143.16µs) }

@lla-dane lla-dane merged commit 4697576 into master Apr 13, 2026
1 check passed
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.

1 participant