[PATCH 2/2] (g)unzip: Optimize inflate_codes()

Dan Fandrich dan at coneharvesters.com
Fri Feb 19 03:46:39 UTC 2010


On Thu, Feb 18, 2010 at 08:55:42AM +0100, Joakim Tjernlund wrote:
> Some gunzip performance numbers would be great, could you please?

Here's a table of compress/decompress times of the Linux 2.6.32.8 tar
ball, which is 364 MiB large, uncompressed. The shortest of 2 or 3 trials is
shown, with the result in seconds (lower is better) and the resulting
size and delta size of the compressed file for compression tests:

compression:

busybox gzip		246	81913218	+0
busybox w/zlib -8	159	81939860	+26642
busybox w/zlib -9	209	81890618	-22600
gzip -9			202	81921868	+8650

decompression:

busybox gunzip		28.6
busybox w/zlib		19.8
gunzip			18.5

This was on a 737 MHz Pentium 3, using a 2 week old BusyBox from git,
zlib 1.2.3, and gzip 1.3.12.  My Busybox zlib hack used compression
levels 8 or 9 (the two "zlib" lines); level 8 gave a compressed file slightly
larger than that of the stock Busybox gzip, while level 9 gave one slightly
smaller.  The -9 option to gzip gave a compressed file most similar in size
to the original Busybox gzip.  

This was a quick hack--the zlib compressed files uncompress to the same
data but gunzip complains about a short file, so it's possible the code
still needs to calculate the CRC32 and write it out, which would slow the
process slightly if needed.

>>> Dan
-- 
http://www.MoveAnnouncer.com              The web change of address service
          Let webmasters know that your web site has moved


More information about the busybox mailing list