[OmniOS-discuss] multithreaded gzip (or equivalent) and moving some files while preserving file trees

Bob Friesenhahn bfriesen at simple.dallas.tx.us
Sat Aug 17 14:33:29 UTC 2013


On Sat, 17 Aug 2013, Valrhona wrote:

> Thanks for the tip. If I understand correctly, lzop is basically a
> drop-in replacement for gzip that is much faster, but single-threaded.
> Is there a comparison anywhere between (single-threaded) lzop and
> (multithreaded) pigz or pbzip2? I have a hex-core xeon and 72 GB of
> RAM so I expect the compression to be IO-bound rather than CPU-bound,
> but that is just a guess. And for ZFS streams, is there a reason to
> prefer any one of these programs over another? Thanks!

Lzop uses a completely different compression format.  Its default 
compression is a bit less compression than 'gzip -3' but it is much 
more CPU efficient so it is able to achieve "wire speed" level 
compression rates on modern CPUs, and without relying on threading. 
There are some other compressors which are even faster than lzop but 
their compression formats are often not stable.

A problem with most threaded compressors is that more effective 
compression algorithms (e.g. lzma as used by 'xz' and 'lzip') require 
very large data chunk sizes so that the compression algorithm works 
effectively.  This means that the input data size needs to be large 
(hundreds of MB or even gigabytes) in order for the multi-thread chunk 
size to be large enough.  Zfs send streams or tar/cpio archives of 
large directory trees are likely to be large enough but many/most 
ordinary files don't qualify.  As a result, using threading may result 
in much less compression.

Bob
-- 
Bob Friesenhahn
bfriesen at simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/


More information about the OmniOS-discuss mailing list