Lbzip2 is a pthreads-based parallel bunzip2/bzip2 filter, passable to GNU tar with the --use-compress-program option. It isn't restricted to regular files on input, nor output. Successful splitting for decompression isn't guaranteed, just very likely (failure is detected).
Splitting in both modes and compression itself occur with an approximate 900k block size. On an Athlon-64 X2 6000+, lbzip2 was 92% faster than standard bzip2 when compressing, and 45% faster when decompressing (based on wall clock time). Lbzip2 strives to be portable by requiring UNIX 98 APIs only, besides an unmodified libbz2.
What's New in This Release: [ read full changelog ]
· In this release, lbzip2 writes a single compressed stream per bz2 file instead of multiple concatenated streams.
· It doesn't decompress streams embedded within trailing garbage.
· It detects and rejects more kinds of invalid bz2 files.
· Relying on the independent bzip2 stack written by the new maintainer, lbzip2-2.0 features significantly improved (de)compression speed and robustness.
· In verbose mode, the compression ratio and progress information is displayed for each file.
· Decompression failures result in more detailed messages now.
· Lbzip2-2.x is licensed under the GPL v3.0 or any later version.