<div>Ken,</div>
<div> </div>
<div>The paper you pointed to was using Box Turtle and found that performance of ROS wss pretty good compared to (what appears to be very optimised) LCM.</div>
<div>Do you think C-turtle got any improvements in this area?</div>
<div><font size="2" face="NimbusRomNo9L-Regu"><font size="2" face="NimbusRomNo9L-Regu">
<p align="left">From paper:</p>
<p align="left">>The ROS TCP transport achieves high throughput when the maximum queue length (</p></font></font><font size="2" face="CMMI10"><font size="2" face="CMMI10">q</font></font><font size="2" face="NimbusRomNo9L-Regu"><font size="2" face="NimbusRomNo9L-Regu">) is set to infinity, but at the
<p align="left">>expense of message latency. Various settings of </p></font></font><font size="2" face="CMMI10"><font size="2" face="CMMI10">q </font></font><font size="2" face="NimbusRomNo9L-Regu"><font size="2" face="NimbusRomNo9L-Regu">provide an adjustable tradeoff between throughput and latency. </font></font><br>
<br></div>
<div class="gmail_quote">On Thu, Sep 9, 2010 at 12:06 PM, Ken Conley <span dir="ltr"><<a href="mailto:kwc@willowgarage.com">kwc@willowgarage.com</a>></span> wrote:<br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">Hi Konrad,<br><br>If you read this paper from the authors of LCM, you will find that the<br>performance of ROS, LCM, and IPC are generally comparable (note: the<br>
article tests LCM's UDP implementation against ROS' TCP<br>implementation):<br><br><a href="http://lcm.googlecode.com/files/2010-huang-olson-moore-lcm-iros.pdf" target="_blank">http://lcm.googlecode.com/files/2010-huang-olson-moore-lcm-iros.pdf</a><br>
<br>Comparing any middleware to "raw TCP" is generally difficult to come<br>to conclusions, especially without including exact information on how<br>your test was conducted. With any middleware, there is the overhead of<br>
(un)marshaling the data into individual messages.  The size and<br>composition of these messages is a significant factor in any<br>performance numbers that result.<br><br>- Ken<br>
<div>
<div></div>
<div class="h5"><br>On Thu, Sep 9, 2010 at 11:48 AM, Konrad Banachowicz <<a href="mailto:konradb3@gmail.com">konradb3@gmail.com</a>> wrote:<br>> Dear all,<br>> I recently done some testing on ROS communication performence.<br>
> There are the reesults :<br>>                           throughput [MB/s]     time [s]           data [MB]<br>> ROS                 7.25906                      4.827058      35.0399<br>> raw TCP          56.8430                      8.387205      476.75466<br>
> POSIX MQ      124.36626                  3.834136      476.837158<br>><br>> That shows grate overhead of ROS communication.<br>> I looked on code, I found that the communication code is very complicated<br>> and contains many locks and queues. It's also integrate interprocess and<br>
> intraprocess communication. This with all callback stuff make whole<br>> communication overcomplicated.<br>><br>> I think this show serious problem with design of whole network stack in ROS.<br>><br>> I will do some more testing.<br>
><br>> Pozdrawiam<br>> Konrad Banachowicz<br>><br></div></div>> _______________________________________________<br>> ros-users mailing list<br>> <a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a><br>
> <a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>><br>><br>_______________________________________________<br>ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a><br><a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br></blockquote></div><br>