I looked at lzma2 a while ago for FFOS. I got pretty consistently 30% smaller 
omni.ja with that. We could add it pretty easily to our decompression code but 
it has slightly different memory behavior.

Andreas

On Oct 13, 2014, at 5:39 PM, Gregory Szorc <g...@mozilla.com> wrote:

> On 10/13/14 4:54 PM, Chris More wrote:
>> Does anyone know or could any of you create a breakdown of the major blocks 
>> of the Firefox installer and each of their respective sizes or percentage of 
>> the whole?
>> 
>> For example, the win32 installer for Firefox 32 is 34MB. The Firefox Growth 
>> team [1] like to know of that 34MB, what is the percentage or size of each 
>> of the components within the 34MB. As for the granularity of the breakdown, 
>> it would be by some logic way of breaking down Firefox. For example, 
>> SpiderMonkey, tools, XUL, etc. I'll leave the granularity up to you on what 
>> you consider a logic block to quantify together.
>> 
>> Why am I asking this?
>> 
>> The win32 Firefox full installer continues to grow (see attachment) each 
>> release and it has been on an increasing growth since Firefox 29. Like 
>> anything on the web, the time it takes to download something (webpage, 
>> binary file, etc.) affects the key conversion rate by some amount. The 
>> Firefox Growth team has a project to understand what features/changes in 
>> Firefox are contributing to the growth or size of the installer. We've asked 
>> a few times previously, but it doesn't look like the documentation or 
>> analysis exist.
>> 
>> Would anyone be able to take on this project as it would be very helpful to 
>> the team? I am imagining a pie chart of the the current installer and then a 
>> table of the name of each component, their size (KB or MB), and any 
>> additional meta data.
> 
> If you are looking for ideas on how to reduce download size, the way omni.ja 
> is included in the installer could be reduced by 4+ MB. Both omni.ja and 
> browser/omni.ja are zip archives, where each file has a separate compression 
> context. If you treat all files from those two archives as a single 
> compression context (like tar+bz2) and stuff them in a single archive, you 
> get size reductions of 4+ MB due to the compression engine sharing state 
> between files. We can't install omni.ja like this on client systems because 
> it is bad for performance (we want the ability to extract individual files 
> without reading a large compression context - this is a benefit of the zip 
> format). But we could ship the files optimized for size (or have installer's 
> compression handle the files individually) and have the installer re-encode 
> them to omni.ja so they are optimized for performance.
> 
> I'm not sure if this has been considered or attempted before. Things are 
> slightly complicated by the fact that omni.ja is a slightly customized zip 
> format. We'd need to ship code to encode omni.ja.
> _______________________________________________
> dev-platform mailing list
> dev-platform@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-platform

_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to