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

Reply via email to