#5228 HIGH 9.1.0: launching activities is slow
Zarro Boogs per Child
bugtracker at laptop.org
Sun Jul 6 21:46:08 EDT 2008
#5228: launching activities is slow
-------------------------+--------------------------------------------------
Reporter: tomeu | Owner: tomeu
Type: defect | Status: new
Priority: high | Milestone: 9.1.0
Component: sugar | Version:
Resolution: | Keywords: performance, 9.1.0:?
Next_action: never set | Verified: 0
Blockedby: | Blocking:
-------------------------+--------------------------------------------------
Changes (by mtd):
* next_action: => never set
Comment:
Here are some new import timing results - the real time comes first, and
the times are for ten runs, so just divide by ten for the average import
time, in seconds...:
{{{
trac_5228_tests.sh v:1.3
total used free shared buffers cached
Mem: 237760 223040 14720 0 0 36328
-/+ buffers/cache: 186712 51048
Swap: 0 0 0
PQ2D13
C2
joyride 2105
Tests can take over two minutes on a C2 machine, so be patient...
--------
1.135,0.920,0.200,baseline python overhead
1.151,0.940,0.170,os
1.156,0.980,0.150,sys
1.197,0.930,0.250,time
1.409,1.130,0.250,tempfile
1.450,1.160,0.270,hashlib
1.453,0.990,0.180,traceback
1.489,1.170,0.280,gobject
1.559,1.180,0.250,cairo
1.867,1.460,0.320,pango
1.950,1.680,0.240,sugar.datastore
1.963,1.600,0.330,sugar.graphics
1.966,1.560,0.320,gettext
2.042,1.510,0.260,atk
2.091,1.540,0.390,sugar.presence
2.110,1.740,0.320,logging
2.211,1.670,0.270,sugar
2.239,1.810,0.390,pangocairo
2.344,1.500,0.290,json
2.814,2.410,0.310,dbus
2.984,2.550,0.370,sugar.util
4.142,3.030,0.620,sugar.profile
6.441,5.740,0.490,dbus.service
6.970,6.020,0.650,gtk
7.705,6.520,0.660,sugar.activity.activityservice
8.162,6.800,0.650,sugar.wm
8.203,7.000,0.700,sugar._sugarext
8.213,6.810,0.920,sugar.session
9.737,8.390,0.720,telepathy
10.264,8.460,1.080,sugar.graphics.icon
10.276,8.550,1.080,sugar.graphics.window
14.181,11.870,1.120,sugar.graphics.toolcombobox
14.336,12.090,1.190,sugar.graphics.toolbox
15.861,13.440,1.380,sugar.graphics.alert
17.021,14.430,1.270,sugar.graphics.toolbutton
40.122,36.740,0.910,numpy
--------
Sugar activity.py used modules:
1.192,0.850,0.310,traceback
1.404,1.090,0.250,tempfile
1.408,0.920,0.220,os
1.486,1.160,0.270,gobject
1.554,1.230,0.210,hashlib
1.814,1.510,0.260,json
1.942,1.650,0.260,sugar.datastore
1.957,1.590,0.300,gettext
1.958,1.590,0.310,sugar
2.017,1.690,0.270,sugar.graphics
2.109,1.720,0.320,logging
2.597,1.640,0.330,sugar.presence
2.982,2.510,0.410,sugar.util
3.760,3.090,0.590,sugar.profile
6.703,5.850,0.460,dbus.service
7.627,6.500,0.710,sugar.activity.activityservice
8.174,6.850,0.840,sugar._sugarext
8.229,6.830,0.740,sugar.wm
8.682,6.940,0.910,sugar.session
10.257,8.590,1.060,sugar.graphics.window
11.019,8.540,1.140,sugar.graphics.icon
14.180,11.840,1.160,sugar.graphics.toolcombobox
14.244,12.170,0.970,sugar.graphics.toolbox
15.549,13.320,1.530,sugar.graphics.alert
16.424,14.360,1.280,sugar.graphics.toolbutton
--------
}}}
...generated by this script (well, I sorted the timings by hand :)):
{{{
#!/bin/bash
echo "trac_5228_tests.sh v:1.3"
export TIMEFORMAT=%R,%U,%S
free
for f in /ofw/ec-name /ofw/model /boot/olpc_build ; do
echo `cat $f`
done
echo "Tests can take over two minutes on a C2 machine, so be patient..."
echo "--------" ;
data=$( (time for i in `seq 1 10`; do python -c "pass" ; done) 2>&1 )
# yes, I mean to do this twice
data=$( (time for i in `seq 1 10`; do python -c "pass" ; done) 2>&1 )
echo ${data},baseline python overhead
for module in time dbus cairo pango atk pangocairo numpy gtk telepathy sys
sugar gettext logging os tempfile hashlib traceback gobject dbus.service
json sugar.util sugar.presence sugar.activity.activityservice
sugar.graphics sugar.graphics.window sugar.graphics.toolbox
sugar.graphics.toolbutton sugar.graphics.toolcombobox sugar.graphics.alert
sugar.graphics.icon sugar.datastore sugar.session sugar._sugarext
sugar.profile sugar.wm ; do
data=$( (time for i in `seq 1 10`; do python -c "import $module" ;
done) 2>&1 )
echo ${data},${module}
done
echo "--------" ;
echo "Sugar activity.py used modules:"
for module in sugar gettext logging os tempfile hashlib traceback gobject
dbus.service json sugar.util sugar.presence sugar.activity.activityservice
sugar.graphics sugar.graphics.window sugar.graphics.toolbox
sugar.graphics.toolbutton sugar.graphics.toolcombobox sugar.graphics.alert
sugar.graphics.icon sugar.datastore sugar.session sugar._sugarext
sugar.profile sugar.wm ; do
data=$( (time for i in `seq 1 10`; do python -c "import $module" ;
done) 2>&1 )
echo ${data},${module}
done
echo "--------" ;
}}}
--
Ticket URL: <http://dev.laptop.org/ticket/5228#comment:39>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
More information about the Bugs
mailing list