Hello, Microsoft Ajax Minifier!
- ミニファイ性能を比較

ここでの動作環境は次のとおり。

  • OS: Microsoft Windows XP SP3
  • 使用ファイル: ajaxmin.exe

Microsoft Ajax Minifierでは「ノーマル」「ハイパークランチ」の2つのミニファイをサポートしている。

使い方

  • ノーマル: ajaxmin inputfile.js -o outputfile.js
  • ハイパークランチ: ajaxmin -hc inputfile.js -o ouputfile.js

Microsoft Ajax Minifierでミニファイをおこなうと、不要な空白文字やコメント・中カッコやセミコロンをすべて削除する。ハイパークランチを有効にしてミニファイをおこなうとノーマルでおこなうミニファイ処理にくわえ、ローカル変数名を短い文字列に置きかえ、使用しないコードを削除する。

jquery-1.3.2.jsを各種ツールでミニファイした結果 -- Announcing Microsoft Ajax Library (Preview 6) and the Microsoft Ajax Minifier - ScottGu's Blogより引用

Scott Guthrie氏のブログ記事ではjQuery 1.3.2をそれぞれ「JSMin」「packer」「YUI Compressor」「Microsoft Ajax Minifier」4種のツールでミニファイした結果を比較している。これにならってほかの著名なJavaScriptライブラリを実際にミニファイし、結果を比較してみよう。

それぞれのツールのバージョンや、使用したオプションは次のとおり。

  • JSMin: 更新日時が2008年8月3日 7:02:42のMS-DOS形式実行ファイル
  • packer: version 3.0, オプション指定なし(none)
  • YUI Compressor: 2.4.2, オプション指定なし

これらのツールを使用して、Dojo 1.3.2, YUI 3.0.0, MooTools 1.2.4, Ext 3.0.0の非圧縮ファイルをミニファイした。

Dojo 1.3.2 ミニファイ結果

YUI 3.0.0 ミニファイ結果

MooTools 1.2.4 ミニファイ結果

Ext 3.0.0 ミニファイ結果

Dojo 1.3.2

使用ツール名 ファイルサイズ(kb) ファイルサイズ(b)
(元ファイル) 304KB 312,194
JSMin 87,1KB 89,215
Packer 85,3KB 87,401
YUI Compressor 85,2KB 87,347
Ajax Minifier 83,6KB 85,607
Ajax Minifier (HC) 66,1KB 67,747

YUI 3.0.0

使用ツール名 ファイルサイズ(kb) ファイルサイズ(b)
(元ファイル) 83,1KB 85,184
JSMin 17,5KB 17,961
Packer 17,1KB 17,566
YUI Compressor 14,5KB 14,864
Ajax Minifier 16,8KB 17,245
Ajax Minifier (HC) 14,0KB 14,365

MooTools 1.2.4

使用ツール名 ファイルサイズ(kb) ファイルサイズ(b)
(元ファイル) 100KB 102,991
JSMin 77,8KB 79,674
Packer 76,9KB 78,793
YUI Compressor 63,9KB 65,510
Ajax Minifier 76,2KB 78,052
Ajax Minifier (HC) 62,0KB 63,504

Ext 3.0.0

使用ツール名 ファイルサイズ(kb) ファイルサイズ(b)
(元ファイル) 2,341KB 2,397,109
JSMin 686KB 703,258
Packer 676KB 692,566
YUI Compressor 609KB 624,432
Ajax Minifier 667KB 683,711
Ajax Minifier (HC) 576KB 590,565

このとおりAjax Minified(ハイパークランチを有効にした場合はさらに)ではいずれもかなり高い縮小化率を発揮できている様子だ。

Ajax Libraryはプレビュー版という位置づけのリリースであるものの、紹介した以外にも魅力的な更新が数多くある。また同時にリリースされたAjax Minifierも高い縮小化率を誇り、すぐに活用できそうなミニファイツールとなっている。今後の動向をぜひチェックしておきたいところだ。