[ros-users] ROS cpu load
Cedric Pradalier
cedric.pradalier at mavt.ethz.ch
Sat Jul 31 22:30:19 UTC 2010
On 08/01/10 00:13, Ken Conley wrote:
> Thanks for the great analysis.
cProfile is actually a pretty good tools to analyse this kind of thing,
and trivial to run on the python scripts:
http://docs.python.org/library/profile.html
I also used oprofile for the C++ nodes, but this was not so practical
with mostly-sleeping processes (so I add to let it run for a long time).
> I've updated pmon.py (r10575), as I agree that that loop can run
> slower. What was the CPU usage before that?
Around 5%. This is not much, but I considered it was too much given that
the system was sitting idle, with just roscore started.
>
> You previously mentioned getting some numbers on rospy -- I'd love to
> know if you see any issues there or not, even if you don't have time
> to track down more fast loops. AFAIK, the main problem with rospy is
> that Python gobbles up memory when you use threads, and rospy is a bit
> too greedy in this regard. The hope is to redo the threading model in
> a future rewrite, but it's good to understand the current issues when
> prioritizing.
I looked a bit for rospy, and could not identify exactly where we're
losing time. I have one process where I'm publishing 40 bytes messages
at 30 fps, and the cpu load significantly increase as soon as we send to
a remote host, from 1-2% if listening locally, to 7-10% when listening
remotely. I need to investigate further and I'll let you know.
Cheers
--
Dr. Cedric Pradalier
http://www.asl.ethz.ch/people/cedricp
More information about the ros-users
mailing list