[ros-users] ROS communication performance .

Ken Conley kwc at willowgarage.com
Thu Sep 9 19:06:08 UTC 2010

Hi Konrad,

If you read this paper from the authors of LCM, you will find that the
performance of ROS, LCM, and IPC are generally comparable (note: the
article tests LCM's UDP implementation against ROS' TCP


Comparing any middleware to "raw TCP" is generally difficult to come
to conclusions, especially without including exact information on how
your test was conducted. With any middleware, there is the overhead of
(un)marshaling the data into individual messages.  The size and
composition of these messages is a significant factor in any
performance numbers that result.

- Ken

On Thu, Sep 9, 2010 at 11:48 AM, Konrad Banachowicz <konradb3 at gmail.com> wrote:
> Dear all,
> I recently done some testing on ROS communication performence.
> There are the reesults :
>                           throughput [MB/s]     time [s]           data [MB]
> ROS                 7.25906                      4.827058      35.0399
> raw TCP          56.8430                      8.387205      476.75466
> POSIX MQ      124.36626                  3.834136      476.837158
> That shows grate overhead of ROS communication.
> I looked on code, I found that the communication code is very complicated
> and contains many locks and queues. It's also integrate interprocess and
> intraprocess communication. This with all callback stuff make whole
> communication overcomplicated.
> I think this show serious problem with design of whole network stack in ROS.
> I will do some more testing.
> Pozdrawiam
> Konrad Banachowicz
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users

More information about the ros-users mailing list