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
使用ツール名 | ファイルサイズ(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も高い縮小化率を誇り、すぐに活用できそうなミニファイツールとなっている。今後の動向をぜひチェックしておきたいところだ。