Subject: Re: performance: gzip, lzip, xz
Date: Wednesday 7th October 2009 23:48:35 UTC (over 8 years ago)
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. This way those filters could be used with any compressor or archiver without having to reimplement them every time.  http://www.nongnu.org/zutils/zutils.html Lzip follows the unix philosophy of "do one thing, and do it well". Lzip is the tool and format lzma-alone should have been from the very beginning.  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.