Denys Vlasenko wrote:
Parallel compression benchmark isn't interesting: the task is trivially
parallelizable, so the speedup will be nerly exactly proportional
to the number of CPUs.

Not exactly. Unless you also have lots of RAM to store the processed blocks, speed is limited by the slowest blocks.


Compare one-thread xz against one-thread lzip.

This is a useless exercise because (given the same parameters) both behave almost identically, except that lzip tends to compress a little more. Here you have a sample (latest rc of lzip, xz is 5.0.4). Note the time differences between the C++ and C versions of lzip in spite of using exactly the same algorithm and being compiled with the same compiler:

gcc-4.7.2.tar 529940480
  lzip -m64:  67201618, real 7m57s, user 7m22s
  clzip -m64: 67201618, real 7m45s, user 7m10s
  xz:         67246172, real 7m32s, user 7m30s

gmp-5.0.1.tar 12687360
  lzip -9:    1643117, real 15.170s, user 14.910s
  clzip -9:   1643117, real 14.384s, user 14.280s
  xz -8e:     1644780, real 16.063s, user 15.940s
  xz -9e:     Cannot allocate memory


Note that "xz -9" won't work on my desktop computer with 512MiB of RAM, (but it does not make a difference in this case because gmp-5.0.1.tar is smaller than the dictionary size selected by -8). The computer from which I am writing this has only 256MiB of RAM and does not even have xz installed.

Note also that the benchmark page of lzip[1] does not mention xz. Lzip is not competing against xz. I am simply trying to write the best LZMA compressor for unix-like systems, and I don't see xz as a LZMA compressor.

I consider the xz approach an error. Tar and xz lack the communication capabilities needed to make the filters in xz to be applied to the correct files. The way to make an effective use of filters is including them in an archiver program, like 7zip or zip.

[1] file:///home/internet/savannah/lzip/cvs/lzip/benchmark.txt


Regards,
Antonio.
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to