From paper:
>The ROS TCP transport achieves high throughput when the maximum queue length (
q) is set to infinity, but at the>expense of message latency. Various settings of
q provide an adjustable tradeoff between throughput and latency.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
implementation):
http://lcm.googlecode.com/files/2010-huang-olson-moore-lcm-iros.pdf
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@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@code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>
>
_______________________________________________
ros-users mailing list
ros-users@code.ros.org
https://code.ros.org/mailman/listinfo/ros-users