Hi all,

Recently I debugged a bug related to message latency and I mistakenly took it for message dropping, the problem came out because of a high latency of messages about 2 seconds(sometimes more). It is surprisingly high, but considering that I have more than 10 nodes running, two of which are kinect and 1394 camera image producer publishing images in a high frequency, and all that data traffic is through TCP, so now I think it is normal(does it?). I am running electric under ubuntu 11.10 with lenovo W520.

I know ROS have nodelet version node to do zero-copy memory sharing by passing boost::shared_ptr between threads in one process, but this mechanism only allow nodes to live in different thread within one process, and if one nodelet dies, all other nodelets dies. Further more, if I want to use qt as GUI of image processing(just to provide faster result showing and easier controlling), I cannot find a way to get it into a nodelet because qt UI must live in the main thread. So why ROS doesn't provide some more efficient data passing mechanism such as inter-process memory sharing? I think this will significantly increase large data flow performance.

Thanks for any comment.

--
Regards

University of Science and Technology of China
School of Computer Science and Technology
Multi-Agent System Lab

K.Chen