URL: http://developer.yahoo.com/yui/compressor/

YUI Compressor apparently supports compressing CSS. Cool! I had to try it and what's even more cool is that it's the only other CSS minifier/compressor that doesn't choke on CSS hacks (the ones I tried). The only other CSS minifier/compressor is my very own slimmer. So, let's see what the difference is.

Running the YUI Compressor 10 times on a relatively small file takes 0.3 seconds on average. Running the same with python 2.6 and slimmer.css_slimmer takes 0.1 seconds on average. I think most of this time is spent loading the jar file than the actual time of running the compression.

Here's how I ran yuicompressor:


$ time java -jar yuicompressor-2.4.2.jar --type css tricky.css > compressed.css

And for slimmer I first had to write a script:


from slimmer import css_slimmer
import sys
print css_slimmer(open(sys.argv[1]).read())

And run it like this:


$ time python slim.py tricky.css > slimmed.css

If part of a build system, 0.3 or 0.1 seconds don't matter. YUI Compressor has the added advantage that it's popular which means many eyes on it for submitting bug reports and patches. However, if you're already in Python and don't want to depend on manually downloading the jar file and running a subprocess then slimmer is probably a better choice.

Comments

Steve Lacy

I think you left out Google's Closure compiler, which explicitly states "The Closure Compiler reduces the size of your JavaScript files and makes them more efficient, helping your application to load faster and reducing your bandwidth needs." http://code.google.com/closure/compiler/

Steve Lacy

Whoops, you're talking about CSS, not JavaScript. Should have read the post. D'oh.

Carl Meyer

Hey Peter - might want to fix the note on slimmer's PyPI page that proudly claims "still maintained in 2008." It no longer gives the impression of up-to-dateness it might once have done ;-)

Peter Bengtsson

Thanks for noticing. Done

Christof

Would you post the "tricky.css"? Wonder ig yuicompressor and slimmer will actually cope with any css hack out there (especially syntactically invalid ones... ;). That would be nice, thanks

Your email will never ever be published.

Related posts