以下斜め読んだ内容

pseudo translation of useful posts, book reviews, remarks,etc. twitter: feeddict

Stoyan Stefanov「css minifingツール比較」

phpied.com 2010.10.30のエントリ

CSS minifiers comparison / Stoyan's phpied.com

  • css圧縮ツールの比較をまたしてみた
  • ツールの品質が上がり、gzipをセットにすると、ツール間の差はほとんどない
  • 好きなの使え

という主旨のエントリ

以下斜め読んだ内容
  • 1年前(2009.12.11)にcss圧縮ツールの性能比較してみた
  • 1年たって状況変わった
    • YUI compressorはアップグレード
    • MSからもツールがリリース。Ajax Minifier
  • gzipされないとCSSTidyが一番よい
    • YUICompressorとAjaxminの3つの比較では
  • gzip圧縮されると、CSSTidy/YUICompressor/Ajaxminの差はほとんどゼロ
  • minifyとgzipでの圧縮率
    • minifyだけで35%
    • minify+gzipで80%圧縮
      • ユーザがDLするデータが1/5になる
  • 実験してみた
    • 使ったデータ
    • YUICOmpressorは、js版を使いwindowsとWSHでテスト
    • CSSTidyは前回と同じコード
    • Ajaxminはデフォルトのオプション
      • "$ AjaxMin.exe in.css -out out.css"
  • 結果(gzipなし)
    • CSSTidyが1番
    • CSSTidy:圧縮前の63.29%までサイズ減
    • Ajaxmin:圧縮前の6647%までサイズ減
    • YUICompressor:圧縮前の66.41%までサイズ減
  • 結果(minify+gzip)
    • 3ツール間で僅差になる
    • CSSTidy:圧縮前の19.44%までサイズ減
    • Ajaxmin:圧縮前の19.62%までサイズ減
    • YUICompressor:圧縮前の19.63%までサイズ減
  • css圧縮ツールにはパーサー搭載してるものもある
    • csstidy/ajaxmin:パーサー搭載。理論上は性能改善ありうる
    • yuicompressor:パーサーなし。正規表現のセットだけ
  • css圧縮ツールの差がなくなる理由
    • cssjavascriptほど圧縮率が高くない
      • セレクターやプロパティは圧縮できない上に文字数多いから
      • 「background-image」「text-decoration」「-webkit-transform-origin」
      • jsだとくそ長い変数名も置き換えできるのと対照的
  • csstidyでは、宣言部分が空(selector{...}の"..."が空のセレクタ)は圧縮時に削除してくれる
    • ajaxminでは削除されない
  • 全221ファイルでのテスト結果
    • 割愛