I had a somewhat lively discussion the other day about minifying Javascript and CSS versus someone who prefers using Gzip.
I’ll call this person X.
X said that Gzip allready minifies the code, since it zips your files.
I disagree. Zip is a lossless method of shrinking filesize. Lossless means the original must be restored perfectly, meaning info must be stored to be able to restore the spaces, the un-needed characters, commented code and everything else. That takes up more space, since more must be compressed.
I have no method of testing, but I believe that the Gzip of this code:
.a1 {
background-color:#FFFFFF;
padding: 40px 40px 40px 40px;
}
Will still be bigger than the Gzip of this code:
.a1{body:background-color:#FFF;padding:40px}
Is there anybody who can prove this right or wrong.
And please don’t come saying “It’s right because that’s what I’ve always used”.
I am asking for scientific proof here.
Very simple to test. I took your js, put them in different files and ran gzip -9 on them. Here’s the result. This was done on a WinXP machine running Cygwin and gzip 1.3.12.
Here’s a further test using a real-world JS example. The source file is “common.js” The original file size is 73134 bytes. Minified, it came to 26232 bytes.
Original file:
Minified file:
Original file gzipped with -9 option (same version as above):
Minified file gzipped with -9 option (same version as above):
As you can see, there is a definite difference between the various methods. The best bet is to both minify as well as gzip them.