XO-1 Sugar startup profiling

Daniel Drake dsd at laptop.org
Tue Mar 19 14:04:55 EDT 2013


On Mon, Mar 18, 2013 at 8:26 AM, Daniel Drake <dsd at laptop.org> wrote:
> 2. Do python-level profiling of sugar to figure out why we are also
> spending a lot of time executing pure Python code.

Its easy to hook up the python profiler:

Change the last line of /usr/bin/sugar to

exec python -m cProfile -o /tmp/sugar.prof /bin/sugar-session

Then after sugar exits (e.g. if you add the idle gtk.main_quit call
mentioned earlier) you can run:

python -m pstats  /tmp/sugar.prof

and play away.

The top offender in the startup (which now takes 12 seconds on XO-1.5)
is {method 'send_message_with_reply_and_block' of
'_dbus_bindings.Connection' objects}

Seems to be called 171 times and takes a total of 2.47 seconds.

I guess this means we are sending 171 synchronous dbus messages during
startup. Would be nice to make them async.

Daniel



More information about the Devel mailing list