> > > A while back, I did some basic profiling of the image pipeline and it > looked like a large percentage of time was being spent de/serializing > the data. For some reason packaging up 640x480x15fps uncompressed color > images into messages and sending them over a wifi connection doesn't > work that well when you are running on an Atom Processor. > > Improvements here might be useful, though the effort is probably better > spent converting the image pipeline to use nodelets or waiting for > another rev of Moore's Law. > > Images are unfortunately just about the best case for serialization -- they end up as mostly just a single big memcpy. There is a deserialization improvement that may be possible though, which I just codified in a ticket: https://code.ros.org/trac/ros/ticket/3000 > On several occasions we have worried that ROS would be slow but our > experience has shown that the best approach is to skip worrying about > the performance of ROS and just get the code working. Once the code is > working it is a lot easier to optimize and we have almost always found > that the slowest part is our code or the WiFi connection. > > This is good to hear, thanks. That has been our experience as well in most cases -- and nodelets seem to satisfy the others so far. Josh