WebKit 最新版 (r30153) を使ってみました
- 2008.02.13 Wednesday
- dev
最新版の WebKit はかなり速くなっているという話を聞いたので、どんなものか試してみました。
Mac OS X 10.4.11 でインストールされる Safari 3.0.4 と見た目は全くといいほど変わりません。
常用している Firefox 2.* と比べて、Safari 3.0.4 でも十分に速く感じるので、最新版 WebKit の速さを実感として感じるかどうかは微妙です。確かに速くなっているような気がする……という感じ。
そこで amachang さんが公開されている JavaScript ベンチマークツールを使ってベンチマークを取ってみました。→使用したベンチマークサンプル
動作環境は MacBook (Core Duo 2GHz) / 2GB メモリ / Mac OS X 10.4.11 になります。Mac の中では速くはありません。
数値が小さいほど速いということを示します。最も成績の良かった数値は強調しています。表の単位は ms になります。
項目 | Safari 3.0.4 | Firefox 2.0.0.11 | Opera 9.25 | iCab 3.0.3 | WebKit r30153 |
---|---|---|---|---|---|
文字列追加 | 0.69411336 | 1.2472076 | 0.7785864 | 45.57326 | 0.34970654 |
文字列の配列連結 | 1.9590626 | 50.095953 | 148.992992 | 143.9495 | 1.0796934 |
配列連結 | 0.56211336 | 1.6072076 | 1.408536 | 114.9495 | 0.24070654 |
DOM エレメント生成 | 5.8490626 | 38.395953 | 36.598032 | 293.9495 | 2.9696934 |
テキストノード生成 | 4.2190626 | 19.095953 | 36.298032 | 119.9495 | 2.2196934 |
シリアルサーチ | 1.3090626 | 1.0072076 | 2.988536 | 19.77326 | 0.56070654 |
正規表現 | 7.2090626 | 9.6872076 | 10.298032 | 58.57326 | 1.5896934 |
innerHTML | 229.993479 | 165.983407 | 108.198032 | 213.9495 | 28.799562 |
innerText | 180.993479 | 24.495953 | 77.098032 | 107.9495 | 189.998248 |
スタイルの読み込み | 5.1790626 | 27.195953 | 35.498032 | 26.77326 | 3.7096934 |
スタイルの変更 | 3.6990626 | 18.795953 | 33.898032 | 32.27326 | 2.7796934 |
子ノード追加 | 18.198555 | 86.395953 | 91.898032 | 1646.9495 | 15.399562 |
オブジェクト作成 | 0.58111336 | 3.6772076 | 1.718536 | 11.47326 | 0.30170654 |
という訳で私の環境では、WebKit r30153 が断トツに速いという結果になりました。
innerHTML の処理のように 8 倍程度速くなっている処理もあります。その他の処理も 2〜3 倍程度速くなっているという印象でしょうか。結構凄いかも。
なお、Firefox は Firefox lzyc build で配布されている最適化ビルドバージョンを利用しています。
ちなみに WebKit の最新ビルドバージョンは Windows 版もあります。WebKit 公式サイトで配布されている WebKit は、別途 Apple から配布されている Safari 3.0.4 for Windows が必要になりますので、ご注意ください。
おまけ (Windows 編)
会社の Windows マシンでもやってみました。
動作環境は Intel Core 2 Duo 2.66GHz / 8GB メモリ / Windows XP Professional x64 になります。
項目 | Internet Explorer 7 | Firefox 2.0.0.12 | Opera 9.25 | WebKit r30153 |
---|---|---|---|---|
文字列追加 | 3.9076358 | 1.248253 | 0.28055982 | 0.217804 |
文字列の配列連結 | 17.196905 | 21.897137 | 32.799344 | 0.718804 |
配列連結 | 0.57570888 | 1.098253 | 0.42155982 | 0.140804 |
DOM エレメント生成 | 7.9676358 | 15.697137 | 6.7195402 | 1.559795 |
テキストノード生成 | 18.696905 | 12.497137 | 6.7195402 | 1.099795 |
シリアルサーチ | 1.7076358 | 0.6543646 | 1.0895402 | 0.311804 |
正規表現 | 6.5576358 | 13.997137 | 4.9995402 | 0.983804 |
innerHTML | 171.989597 | 124.985977 | 40.599344 | 18.799705 |
innerText | 67.196905 | 7.028253 | 28.199344 | 96.899705 |
スタイルの読み込み | 13.996905 | 15.597137 | 5.6195402 | 2.179795 |
スタイルの変更 | 21.896905 | 10.468253 | 5.3095402 | 1.719795 |
子ノード追加 | 68.796905 | 59.397137 | 15.599344 | 8.749795 |
オブジェクト作成 | 1.7176358 | 3.748253 | 0.62455982 | 0.187804 |
スポンサーリンク