Useless fuss about ZIP and RAR
There has been some fuss generated by Jeff Atwood (who is a Windows developer, which is bad, and a Visual Basic one, which is worse), who seems, in my humble opinion, to be giving partial information around, as closed in his Windows-only world as he appears to be. In a recent article of his, Jeff makes a basic comparison between the ZIP and RAR compression systems. Unfortunately, most Windows people completely ignore that there’s something much better out there, that has been floating in the *nix world for quite a long time now. I’m talking about the powerful combination of tar and bzip2.
Let’s get to the facts right away. To experiment around, I’ve used a directory containing the source code of the Linux kernel, then I built that kernel, so that the size of the directory would be pretty big, and we would have both text files and binary files.
Here’s the size of the original directory:
$ du -sh /usr/src/linux-2.6.18.3
539M linux-2.6.18.3
This is what happens with ZIP:
$ time zip -r ~/linux /usr/src/linux-2.6.18.3
...
real 2m35.917s
user 0m32.486s
sys 0m6.024s
$ ls -gGh ~/linux.zip
-rw-r--r-- 1 141M 2007-02-24 01:04 /home/siovene/linux.zip
Fine, 141Mb in 2 minutes and 35 seconds. Let’s try RAR:
$ time ./rar_static a ~/linux.rar /usr/src/linux-2.6.18.3
...
real 5m8.715s
user 2m14.012s
sys 0m12.473s
$ ls -gGh ~/linux.rar -lh
-rw-r--r-- 1 132M 2007-02-24 01:26 /home/siovene/linux.rar
Ouch! Double time and just a slightly better compression! Let’s try TAR and BZIP2:
$ time tar cv linux-2.6.18.3 | bzip2 > ~/linux.tar.bz2
...
real 4m22.265s
user 2m38.134s
sys 0m5.608s
$ ls -gGh ~/linux.tar.bz2
-rw-r--r-- 1 90M 2007-02-24 01:09 /home/siovene/linux.tar.bz2
Not too faster than RAR (but using two programs communicating through a pipe, so some overhead), but much more efficient! The compressed file is only 90Mb starting from an original uncompressed of 539Mb
Let’s summarize the data:
Method
Time
Size
zip
2m35s
141Mb
rar
5m08s
132Mb
tar.bz2
4m22s
90Mb
In conclusion, you should use the best tools, interdependently from their popularity, and remember that there is so much more than what you can see from your Windows-user-perspective.
Related posts:
9 Comments »
RSS feed for comments on this post. TrackBack URI



But, does it have data recovery!?
I only use RAR with a somewhat large recovery record (5% or so). It has allowed me to recover corrupted archives from failing hard disks, cd’s, and of course, crappy data connections.
BTW, what size dictionary were you using with RAR? The newer windows version supports 4096, bringing compression up to where ACE used to be (it has supported 4096 since I can remember). Did you create a solid archive?
Not a fan of your “results” since you only try compressing text files (and don’t give details on compression options). Would be nice to see some binaries, images, combination of all, etc. I found different results for large amounts of jpeg images, binaries, “program folders” (with a combination of all), etc.
Comment by nomel — February 24, 2007 @ 2:25 am
Salvatore, you are outdated. LZMA beats the crap out of anything else. A popular LZMA compression implementation is 7zip, also available for windows. But ofcourse, abstracting file metadata and compression is good so having tar.lzma is better
Comment by suihkulokki — February 24, 2007 @ 8:30 am
nomel: I was using default options with all the three methods.
Comment by Salvatore Iovene — February 24, 2007 @ 12:15 pm
suihkukokki: oh well, I’ll have to try that, then
Comment by Salvatore Iovene — February 24, 2007 @ 12:16 pm
Hi
concerning data recovery there is always par / par2. In my opinion this is much better than built in recovery options.
Look here for more info:
http://parchive.sourceforge.net/
Olaf
Comment by Olaf — February 24, 2007 @ 7:59 pm
Unfair… You should have used the “Best compression” options for the 3 of them. You would have seen that for instance ZIP and RAR have the same compression rate when you use the best scheme.
Comment by Jack — April 10, 2007 @ 7:04 pm
It’s unfair comparison.
Comment by Andy — July 12, 2007 @ 8:59 pm
I am compressing a game image at “best” compression rate using Power Archiver 10:
original .iso is 650mb……….
ZIP: took about 3 min and shrunk it to 400mb.
TAR: took 7 min and didn’t make any any difference in size at all….
7ZIP: took about 5 min and shrunk it to 370mb!
Have not tried RAR yet.
Comment by bob — June 16, 2008 @ 6:04 am
> for bob:
Tar is not a compression application. You will havt to use bzip2 on the tar archive at the same time or after to see the actual compressed archive. Please rerun your test and publish your results again.
Comment by Mike Leigh — July 7, 2008 @ 4:59 pm