[Etoys] zip optimization results
karl.ramberg at comhem.se
Thu Apr 10 11:04:26 EDT 2008
Ties Stuij wrote:
> I got some interesting results from fiddling with various project
> zipping strategies on the XO.
> Basically using only the unzipped project file, big projects load
> about 3 times faster than the doubly zipped alternative (where the
> project zip bundle is not compressed); which is the way project files
> are stored now.
> Numbers are in seconds, horizontally we see the zipping methods and
> vertically three different projects. On a clean 3.0 image, loaded with
> our customizations and luke's speed patch.
> 1 2 3 4 5
> tr 37 1.20 1.29 1.29 46
> c10 30 1.15 1.23 1.23 40
> shp 18 30 32 36 20
> tr = triangle identification
> c10 = adding to 10 is fun
> shp = counting sheep
> 1 = non-zipped stand-alone .pr file
> 2 = zipped .pr file in uncompressed archive
> 3 = non-zipped .pr file in uncompressed archive
> 4 = non-zipped .pr file in compressed archive
> 5 = zipped stand-alone .pr file
> Testing the other 1.20m plus activities also shows a threefold speedup
> to generally just under 40 sec against the 2.3 image with luke's
> dictionary patch loaded.
> For us at OLE the obvious choice is 1, cause we basically just go for
> raw speed, but I guess there's something to say for 5, because it does
> cut the size of the files in half. To me it seems worth it on the XO,
> but others might not be as performance inclined. Or?
> In general, fascinatingly enough, doubly zipped projects seem to load
> faster than bundles with a zipped .pr file in them.
> Attached the patches that made this work:
> The patches I already sent. Useful irrelevant of the patches that
> follow them in this post:
> fileIn Fix: for unzipped .pr files the wrong kind of stream is created
> (i think).
> AsUnzippedStream: don't use unzip routine with built in progress bar.
> Speedup of about 20% on the larger files. Note that this doesn't have
> anything to do with the project progress bar.
> new ones (names are a bit misleading). Basically just throw in the
> ones whose effect you want. For a combination of bundle and
> uncompressed .pr file, make sure you've got the fileIn Fix loaded:
> zipOptimizations: don't zip the inner .pr file
> furtherZipOptimizations: don't zip the bundle and don't create the
> other files in the bundle (html file, etc...).
> compress project bundle: If filed in, the project bundle is compressed.
> Hope any of this is of use to some.
> Etoys mailing list
> Etoys at lists.laptop.org
I think if we could keep form instances compressed in the image, we
could have reasonably small projects without compression.
More information about the etoys-dev