RosLibRust / roslibrust

An async first rust client for ROS1 native and rosbridge.
https://docs.rs/roslibrust
MIT License
50 stars 6 forks source link

Switch to fork of serde_rosmsg #201

Closed Carter12s closed 1 month ago

Carter12s commented 1 month ago

Description

This resulted in a 71% speedup on sending 1080p color images, from 22ms to 6.3ms.

Running benches/image_bench.rs (target/release/deps/image_bench-3e2fda80b1f23a8a)
Gnuplot not found, using plotters backend
image_bench             time:   [6.2894 ms 6.3457 ms 6.4039 ms]
                        change: [-71.261% -71.004% -70.693%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
  3 (3.00%) high mild

image

Benchmarking is not fixtured in CI yet. Results obtained on a AMD Ryzen 9 4900HS

Fixes

Closes: number

Checklist

Carter12s commented 1 month ago

flamegraph Leaving this here for future self.

This is a 5 second profile run of the image send / recv bench mark. Looking at where performance can still be gained.