[Libreoffice] Windows installer size reduction effort - the compression theory

Michael Meeks michael.meeks at novell.com
Mon Feb 28 04:16:22 PST 2011

Hi Kami,

	Wow - I'm so sorry, I missed your sexy mail for a week; that sucks -
over-much merging on another branch :-) Tor has been on FTO, and
Fridrich with his head down releasing 3.3.1 (and the Novell LibreOffice
product) - which in part explains the lack of response to you (and
Steven) - which sucks - sorry guys.

On Tue, 2011-02-22 at 17:32 +0100, Kálmán „KAMI” Szalai wrote:
> I ran few test to figure out what is the best method for installset

	These look great, nice spreadsheet.

> So I went to other direction, whatif I increase the efficiency of LZM
> compression of makecab. I found that we can use .Set CompressionMemory=
> 21 setting. This setting produces 83,91% of original installer size and

	Oh - nice :-) that solves the install-space problem as well.

> In the gray section I tried a special way when I uncompressed every
> zip container (ODF, JAR, ZIP, etc) in the installset and every file
> contains only stored data without compression. In this way I was able
> to gain more 15 MB, but this require zip recompressing at the end of
> installation process that may make it to complex and time consuming.
> Please check the attached document, and if you want to go with it
> apply the attached patches.

	Oh ! that sounds fun :-) 15Mb for that. Actually on master - we could
use flat ODF files and get the same result (for some on-disk size
growth) without having to re-compress, and they're dead fast in master.

	So - personally, I find it amazing that ZIP is better than LZMA - ever,
it is such an older compression algorithm, and this flies in the face of
everything I've seen in practise with it [ eg. we use LZMA for our RPMs
in openSUSE these days AFAIR, better than bzip2, which in turn was
better than .tgz (essentially zip) ].

	It'd be great to commit the first patch but can we instead hack:

	solenv/bin/modules/installer/globals.pm to patch:

    $cabfilecompressionlevel = 7;

	rather than hard-coding that and leaving the variable there.

	The second - can you really confirm that LZMA is worse than zip ?

	Anyhow - great work :-)


 michael.meeks at novell.com  <><, Pseudo Engineer, itinerant idiot

More information about the LibreOffice mailing list