#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