[Sugar-devel] MANIFEST experiments
philipp.kocher at gmx.net
Sun Nov 8 02:29:51 EST 2009
The patch is good to reduce the boot time, but doesn't work for activity
After applying the patch I run "setup.py dist_xo" of an activity and got
the following error (since read_manifest is supposed to set
self.manifest and doesn't do it anymore):
Traceback (most recent call last):
File "./setup.py", line 3, in <module>
493, in start
globals()['cmd_' + args](config, args[1:])
284, in cmd_dist_xo
184, in package
missing_files = self.builder.check_manifest()
147, in check_manifest
if path not in self.config.bundle.manifest:
TypeError: argument of type 'NoneType' is not iterable
James Cameron wrote:
> On Wed, Oct 14, 2009 at 05:29:09PM +0545, Daniel Drake wrote:
>> So, I reflashed 2 XOs, booted for the first time, entered a name. On
>> one, I modified sugar.bundle.ActivityBundle.read_manifest() to be a
>> no-op, then turned it off. On the other, I just turned it off.
> I reproduced this experiment. Used build 802, with a limited set of 22
> activities , with a similar change .
>> Then I powered both on at the same time and started a stopwatch. I
>> measured how long it takes for the XOs to reach the stage of boot
>> where the XO stick figure and the activity icons are visible.
> 1255565448 power up both XOs
> 1255565533 modified XO boot complete
> 1255565539 unmodified XO boot complete
>> The one with the modification reached this point *55* seconds faster
>> than the other one!
> In my case, about 6 seconds.
> I feel that even this small time was worth it, so I plan to patch this
> for the friends' kids I've got laptops deployed to.
> Is there a collection of 802 performance improvement patches?
> 1. the activities installed were from "G1G1 Activities for 8.2" and
> were "Browse Calculate Chat Distance Etoys Implode Maze Measure Memorize
> Moon Paint Pippy Read Record Ruler Scratch Speak TamTamMini
> TamTamSynthLab Terminal TurtleArt Write"
> 2. the change was to activitybundle.py in
> /usr/lib/python2.5/site-packages/sugar/bundle/ and removed all code in
> read_manifest(), leaving just "pass":
> def read_manifest(self):
> Devel mailing list
> Devel at lists.laptop.org
More information about the Devel