Difference between revisions of "Software: GZIP vs. BZIP2 vs. XZ - performance"

From Luky-Wiki
Jump to: navigation, search
(Input)
(Input data)
Line 4: Line 4:
 
For test i selected following files:
 
For test i selected following files:
  
* DVD.iso - iso image containing mpeg2 stream (DVD-Video) and jpeg files (pictures)
+
* <code>DVD.iso</code> - iso image containing mpeg2 stream (DVD-Video) and jpeg files (pictures)
* fs.bin - ext4 file system containing "linux.tar" and "random.bin"
+
* <code>fs.bin</code> - ext4 file system containing "linux.tar" and "random.bin"
* linux.tar - tarball archive of Linux kernel sources + objects and final kernel / module images
+
* <code>linux.tar</code> - tarball archive of Linux kernel sources + objects and final kernel / module images
* random.bin - file containing data from /dev/urandom
+
* <code>random.bin</code> - file containing data from /dev/urandom
* zero.bin - file containing only 'zero' data (read /dev/zero)
+
* <code>zero.bin</code> - file containing only 'zero' data (read /dev/zero)
  
 
As a preparation i executed following cycle:
 
As a preparation i executed following cycle:

Revision as of 15:02, 26 November 2013

I was part of discussion on G+ recently. Discussion was about best possible compression method for Linux kernel. Later it was extended also to user space compression algorithm. I think it will be interesting to see various compress method and levels on different type of files.

Input data

For test i selected following files:

  • DVD.iso - iso image containing mpeg2 stream (DVD-Video) and jpeg files (pictures)
  • fs.bin - ext4 file system containing "linux.tar" and "random.bin"
  • linux.tar - tarball archive of Linux kernel sources + objects and final kernel / module images
  • random.bin - file containing data from /dev/urandom
  • zero.bin - file containing only 'zero' data (read /dev/zero)

As a preparation i executed following cycle:

for a in *
do
        for b in 1 6 9
        do
                cat ${a} | gzip  -${b} > ${a}.${b}.gz
                cat ${a} | bzip2 -${b} > ${a}.${b}.bz2
                cat ${a} | xz    -${b} > ${a}.${b}.xz
        done
done

Test methodology

Test is executed on "Intel(R) Atom(TM) CPU 330 @ 1.60GHz". System was running in dual core mode with HT enabled (SMP). There should be no significant difference using one core and "UP" code as compression/decompression is done in one thread. System was