On 07/31/10 13:11, Cedric Pradalier wrote: > > To continue on my fight against overhead, I've had good performance > improvement of rosout by replacing all the timeout argument in the > CallbackQueue::callAvailable and CallbackQueue::callOne from 0.01s to > 0.1s. > Now my rosout is really sitting in a corner doing nothing while I'm > not logging. > > Can you foresee any drawbacks from this change? And the final touch to make roscore behave: in package roslaunch, file src/roslaunch/pmon.py:570 replacing time.sleep(0.01) with time.sleep(0.1) makes roscore use less than 1% cpu, and AFAICS just slows down a little the process respawn mechanism. I don't think I will optimise farther for now. In summary, applying all the changes in this thread brings my set of core processes (roscore, rosmaster, rosout, some serial data gatherer/publisher) from a total of 20% cpu load, to 5-6%, without any noticeable performance loss so far. HTH -- Dr. Cedric Pradalier http://www.asl.ethz.ch/people/cedricp