Skip to content

Speed optimization: Preparing copyless publish/subscribing by using const message for writing#1010

Merged
MichaelOrlov merged 5 commits intoros2:rollingfrom
DensoADAS:feature/copyless
Jul 28, 2022
Merged

Speed optimization: Preparing copyless publish/subscribing by using const message for writing#1010
MichaelOrlov merged 5 commits intoros2:rollingfrom
DensoADAS:feature/copyless

Conversation

@DensoADAS
Copy link
Contributor

Prepared rosbag for intraprocess communication for serialized messages without copying data by using const modifier. We have already a unit test proofing that it works, but we need to update rclcpp for enabling IPM with serialized message (PR in preparation).
Anyway I think modifying subscription to const shows that recording does not alter the data.

  • changed to const
  • updated compression to make copy instead of in-place
  • removed copying data by refrencing to received message

@DensoADAS DensoADAS requested a review from a team as a code owner May 11, 2022 16:21
@DensoADAS DensoADAS requested review from emersonknapp and gbiggs and removed request for a team May 11, 2022 16:21
@DensoADAS DensoADAS changed the title using const message for writing: Speed optimization: Preparing copyless publish/subscribing by using const message for writing May 12, 2022
@DensoADAS DensoADAS force-pushed the feature/copyless branch 2 times, most recently from 7d2694b to 3dc9ad6 Compare May 12, 2022 05:41
Joshua Hampp added 3 commits May 12, 2022 08:25
 * changed to const
 * updated compression to make copy instead of in-place
 * removed copying data by refrencing to received message

Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
@audrow audrow changed the base branch from master to rolling June 28, 2022 14:50
Copy link
Contributor

@MichaelOrlov MichaelOrlov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DensoADAS Thanks for your contribution. LGTM.

@MichaelOrlov
Copy link
Contributor

MichaelOrlov commented Jul 26, 2022

Running CI:
Gist: https://gist.githubusercontent.com/MichaelOrlov/307264ca9c029cfd4aa5ebb382f91733/raw/0420b61154fbb60b61c41351490a587c7ec8d243/ros2.repos
BUILD args: --packages-above-and-dependencies rosbag2_compression rosbag2_compression_zstd rosbag2_cpp rosbag2_storage rosbag2_transport rosbag2_tests
TEST args: --packages-above rosbag2_compression rosbag2_compression_zstd rosbag2_cpp rosbag2_storage rosbag2_transport rosbag2_tests
ROS Distro: rolling
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/10581

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Windows Build Status

@MichaelOrlov MichaelOrlov merged commit 5310c15 into ros2:rolling Jul 28, 2022
MichaelOrlov pushed a commit that referenced this pull request Aug 2, 2022
Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
MichaelOrlov pushed a commit that referenced this pull request Aug 2, 2022
Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
MichaelOrlov pushed a commit that referenced this pull request Aug 3, 2022
Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
MichaelOrlov pushed a commit that referenced this pull request Aug 5, 2022
Signed-off-by: Michael Orlov <michael.orlov@apex.ai>

Generate changelogs for rosbag2 0.17.0

Signed-off-by: Michael Orlov <michael.orlov@apex.ai>

Update rosbag2_compression_zstd/CHANGELOG.rst

Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
Co-authored-by: jhdcs <48914066+jhdcs@users.noreply.github.com>

Update rosbag2_compression/CHANGELOG.rst

Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
Co-authored-by: jhdcs <48914066+jhdcs@users.noreply.github.com>

Update rosbag2_cpp/CHANGELOG.rst

Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
Co-authored-by: jhdcs <48914066+jhdcs@users.noreply.github.com>

Update rosbag2_storage/CHANGELOG.rst

Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
Co-authored-by: jhdcs <48914066+jhdcs@users.noreply.github.com>

Update rosbag2_transport/CHANGELOG.rst

Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
Co-authored-by: jhdcs <48914066+jhdcs@users.noreply.github.com>

Remove `instead` word in description of the #1010 in changelogs

Signed-off-by: Michael Orlov <michael.orlov@apex.ai>

Update changelogs with #1053 after rebase

Signed-off-by: Michael Orlov <michael.orlov@apex.ai>

Update changelogs details in regard to the optimization in writer

Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
MichaelOrlov pushed a commit that referenced this pull request Aug 5, 2022
Signed-off-by: Michael Orlov <michael.orlov@apex.ai>

Generate changelogs for rosbag2 0.17.0

Signed-off-by: Michael Orlov <michael.orlov@apex.ai>

Update rosbag2_compression_zstd/CHANGELOG.rst

Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
Co-authored-by: jhdcs <48914066+jhdcs@users.noreply.github.com>

Update rosbag2_compression/CHANGELOG.rst

Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
Co-authored-by: jhdcs <48914066+jhdcs@users.noreply.github.com>

Update rosbag2_cpp/CHANGELOG.rst

Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
Co-authored-by: jhdcs <48914066+jhdcs@users.noreply.github.com>

Update rosbag2_storage/CHANGELOG.rst

Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
Co-authored-by: jhdcs <48914066+jhdcs@users.noreply.github.com>

Update rosbag2_transport/CHANGELOG.rst

Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
Co-authored-by: jhdcs <48914066+jhdcs@users.noreply.github.com>

Remove `instead` word in description of the #1010 in changelogs

Signed-off-by: Michael Orlov <michael.orlov@apex.ai>

Update changelogs with #1053 after rebase

Signed-off-by: Michael Orlov <michael.orlov@apex.ai>

Update changelogs details in regard to the optimization in writer

Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
@ros-discourse
Copy link

This pull request has been mentioned on ROS Discourse. There might be relevant details there:

https://discourse.ros.org/t/ros-2-tsc-meeting-minutes-8-18-2022/27050/1

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.

4 participants