[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Lzip-bug] performance: gzip, lzip, xz
From: |
Antonio Diaz Diaz |
Subject: |
Re: [Lzip-bug] performance: gzip, lzip, xz |
Date: |
Thu, 08 Oct 2009 01:48:35 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.7.11) Gecko/20050905 |
Hello,
John Reiser wrote:
I ran a comparison of gzip, lzip-1.7, and xz-4.999.9-0.1.beta.
Lzip 1.8 (released more than a month ago) compresses faster than 1.7.
lzip has an advantage in smaller memory size needed for decompression
(in this case 8MiB for lzip vs 64MiB for xz)
but xz is better than lzip in compression speed and compression size.
It depends on what values for dictionary size and match length, you
choose. Mappings from options -1..-9 to those parameters are different
in lzip and xz. Other files are better compressed by lzip than by xz.
Just try the -m and -s options of lzip to see what I mean.
xz offers filters today; lzip may have filters in the future.
If filters prove to be useful, they will probably be implemented as part
of zutils[1]. This way those filters could be used with any compressor
or archiver without having to reimplement them every time.
[1] http://www.nongnu.org/zutils/zutils.html
Lzip follows the unix philosophy of "do one thing, and do it well"[2].
Lzip is the tool and format lzma-alone should have been from the very
beginning.
[2]
http://lpar.ath0.com/2009/09/25/documentation-as-an-indicator-of-code-quality/
By contrast xz is an experiment without a clear goal, (with its not yet
fully implemented archiver-like format and filters), as proved by its
four years of development without a stable version. Experiments are
good, but not for general use.
Does lzip offer other advantages?
Lzip offers maturity, (it is only a reimplementation of a well tested
algorithm), reliability, simplicity and long term stability.
What is the comparision for detecting and recovering damaged files?
Integrity checking reliability is better in lzip that it is in gzip.
Lzip uses 64 bits for file size against the 32 bits of gzip, and also
stores the member size, which gzip does not. Last time I checked,
integrity checking was optional in xz.
Lzip can safely recover, with lziprecover, the undamaged members of a
multimember file in case of file damage. Lzip can also recover in
average about half the data of damaged members.
I don't know about recovery of damaged xz files, but given its complex
format I think it should be rather difficult.
Regards,
Antonio.