How many times have you found yourself in the position where you needed to send a large group of files (esp. over e-mail or uploading to a website) and WinZip (for instance) just wouldn’t compress it enough to make it feasible for transfer? The only option you’d have would be to span the files over multiple chunks that need to be reassembled on the other end. But what if there were programs out there that compressed at a much better ratio? Well there certainly are, but how much better are they? And at what cost?
The focus of this article is to compare some of the most popular (and most effective) compression software packages available to the general public. I will not be going into depth on algorithm comparison, however, so the article is aimed more towards casual computer users than algorithm developers in particular.
For this study, the following software were used: WinZip (9.0 SR-1), PeaZip (2.5.1), 7-Zip (4.65), NanoZip (0.06 Alpha), WinRAR (3.80) and GNU Tar (1.21). The computer that did the processing had the following specifications: Intel Core 2 Duo (2.33GHz), 2GB RAM, Windows XP Pro SP3. In order to perform the study, I needed some test data to compress. I used a group of ~2500 files (143MB) that had a nice mix of source code/text files, object files, images, RTFs and compressed files. Please note that my results are for the platform and data I used and your mileage will vary (especially processing time, obviously).
WinZip: This is certainly the most popular of the programs I tested, but it also costs money (and if you read my article on ‘Good Software’, then you know how much I hate price tags on software). Newer versions of WinZip give the option of spanning a file across multiple chunks, and the ability to encrypt the files individually. Unfortunately, it only allows you to compress into the ZIP archive format. The interface is very clean and intuitive.
PeaZip: This software is free, and has a pretty nice interface. The interface seems a bit quirky at times, especially the compression dialog. It provides the options to encrypt and span across files (break it into multiple volumes). It also gives you the ability to pack the file into 12 different formats, plus allows you to specify your own format (by calling an external program you specify to handle it all). Most formats also allow you to choose a particular compression algorithm you want to use, along with various settings to tweak the performance (including thread settings). BZ2, in particular, is highly threaded.
7-Zip: Another great, and free, program. 7-Zip allows packing files into your choice of 5 formats, most of which allow you to choose custom settings to tweak performance (including thread settings). Once again, BZ2 is highly threaded. Encryption is also available for 7Z and ZIP formats. Spanning across multiple files (split into volumes) is also an option in this program. It supports a very wide variety of formats (for extraction mostly).
NanoZip: NanoZip is still in Alpha testing, and so it is missing lots of features (which is to be expected). For that reason, I couldn’t recommend it for everyday use, but it is definitely a program to keep an eye on. It provides the option of compressing into the NZ (NanoZip) format using your choice of 7 different compression algorithms. The downside is that only NanoZip supports the NZ format (that I know of).
WinRAR: This program is not free, and uses its own proprietary archive format (RAR). The interface is relatively nice, and provides the options of encryption and spanning. It is famed to have the most efficient compression (esp. with multimedia) and is growing in its user base.