This question is very old, but perhaps somebody finds this solution useful:
tar. It first compresses 900 MB large data blocks using a dictionary method, and then it hands the cleaned-up data over to
bzip2. It is much faster than the other strong compression tools (
lzma), and some files it compresses even better than
gz is the default compression tool on Linux. It is fast, and despite its age it gives still very good results in compressing text files like source code. Another standard tool is
bzip2, though it is much slower.
Addition: lrzip is newer and extends the principle of rzip. It even supports unlimited block sizes, and a choice of compression methods (LZMA, Bzip2, Gzip, LZO, ZPAQ or none). LZMA is the standard. For backup or if you share much data with other Linux/BSD users, it can come in really handy.