[arch-general] lzma compression tests

Jan de Groot jan at jgc.homeip.net
Mon Mar 24 16:25:33 EDT 2008

On Mon, 2008-03-24 at 14:43 -0500, Dan McGee wrote:
> On Mon, Mar 24, 2008 at 2:24 PM, Mark Constable <markc at renta.net> wrote:
> > FWIW, possibly worth considering adding lzma to pacman...
> >
> >   http://www.kdedevelopers.org/node/3326
> >
> >  --markc
> Interesting. You may want ot take this to the pacman-dev ML. A good
> "real-world" look might be grabbing the openoffice package and
> uncompressing it to a folder, and then run the following tests:
> bsdtar czf package (gzip)
> bsdtar cjf package (bzip2)
> <lzma creation of package>
> and then the similar unzip costs, along with the size of the original
> folder structure (unzipped package) vs. their zipped counterparts.
> -Dan

I tested with OpenOffice.org, here are the results. Note that I had to
use a weird construction to compress lzma files, as tar has no native
support yet (1.19.90 has official lzma support I read on some debian

Compression times take a huge increase in time, but in case of
openoffice, I think 30 seconds extra compression time will save on much
more upload time, as the resulting package would be 20MB smaller.
For the end user, it depends on their connection. Most users will have
<10Mb/s connections and will see a positive change in installation
speed: 10 seconds extra for extraction, 20 seconds less for downloading
the package.

[jan at server ~]$ time bsdtar czf oo.tar.gz oo/
real	0m24.244s
user	0m23.882s
sys	0m0.360s

[jan at server ~]$ time bsdtar cjf oo.tar.bz2 oo/
real	0m55.812s
user	0m55.310s
sys	0m0.377s

[jan at server ~]$ time tar c oo | lzma -2 > oo.tar.lzma
real	0m55.070s
user	0m54.583s
sys	0m0.740s

[jan at server ~]$ time tar c oo | lzma -1 > oo.tar.lzma1
real	0m38.995s
user	0m38.737s
sys	0m0.503s

[jan at server ~]$ du -h oo.tar.*
108M	oo.tar.bz2
115M	oo.tar.gz
95M	oo.tar.lzma
101M	oo.tar.lzma1

[jan at server u]$ time tar zxf ../oo.tar.gz
real	0m3.570s
user	0m3.383s
sys	0m0.967s

[jan at server u]$ time tar jxf ../oo.tar.bz2 
real	0m19.431s
user	0m17.826s
sys	0m1.367s

[jan at server u]$ time tar --use-compress-program=lzma -xf ../oo.tar.lzma
real	0m13.211s
user	0m12.306s
sys	0m1.117s
(the lzma1 archive gives equal timings)

More information about the arch-general mailing list