Bzip2

Bzip2 is a Burrows-Wheeler algorithm.]] Files are typically compressed to anywhere between 10% - 15% of their original size while maintaining a speed of roughly twice the speed of compression and up to six times the speed of decompression of the PPM compression family. Any machine with an ANSI C compiler should be able to support bzip2, making it a great choice for those who run systems with portable demands.

Emerge
After adjusting USE flags:

Invocation
Displays the default bzip2 arguments summary. The command line options are similar to gzip, however they aren't identical and so a little revision on bzip2's arguments go a long way. For more information, see the bzip2 man page.

A short summary of usage flags can be found below:

Compression
The default behavior of bzip2 is to compress a file when given as an argument.

If forcing a compression operation is desired, bzip2 can be invoked with the  option:

Decompression
If invoked as bunzip2, the default action is to decompress a given file:

You can also decompress to stdout:

If no arguments are given, bzip2 will compress/decompress from standard input to standard output.

Memory management
bzip2 compresses large files in blocks. The block size is proportionate to the compression ratio achieved and the total amount of memory needed for compression and decompression. Block size is read from the header of the file and can be specified manually when compressing.

When decompressing bzip2 will read this and allocate just enough space to decompress the file. Because during decompression, the block size is read from the header, the -1 to -9 flags are ignored. For more information, visit the bzip2 man page.