asked 2011-02-16 20:03:06 -0500Yogi
Sending huge messages like images over a pipe can slow things down a lot. Is there a way we can have memory mapped messages in ROS?
This has been discussed several times. A partial implementation of shared memory message passing was implemented as an experiment.
It turns out that the main overhead is serializing and deserializing the data, not copying the bytes. The shared memory transport still incurs that, so the speed-up was disappointing.
A better solution for high throughput applications is using nodelets, which allow zero-copy transport within a single address space while still providing standard ROS message semantics to nodes in other processes or machines.
Asked: 2011-02-16 20:03:06 -0500
Seen: 392 times
Last updated: Feb 16 '11