ブラウザー対決
最新のウェブブラウザーはどれが一番サクサクなのか!?


ウェブサービスが重い! ボトルネックはブラウザー!?

 「mixiが重い」 1~2年ほど前から筆者の周りで聞くようになった言葉である。たしかに以前はアクセス過多のせいで表示が遅かったけれど……と、気が付けば重いのは mixiだけではない。「Google Docs」も、「Gmail」も、「ヤプログ」も、「BIGLOBEメール」も重い。いわゆるWeb2.0系のサービスがみんな遅いのである。

 その原因は、いわゆる「Ajax」などと呼ばれる最近のJavaScriptの流行にある。かつては「セキュリティー的に問題だからオフにするの が望ましい」とまで言われたJavaScriptだが、「Googleマップ」の成功以降、JavaScriptを使って動的なインターフェースを実現す るのがトレンドになった。

 このJavaScriptが行なっているのは、サーバ側でなくクライアント側、つまりブラウザーのほうでプログラムの処理をさせることで、 HTMLでは難しかった動的なインターフェースを実現させたり、データを先読みさせることで通信の負担を軽減させる、といった処理だ。だが、そのような JavaScriptの使い方はこれまでのブラウザーでは想定外の動作であり、負担になっているのが現在の状況だ。




マシンを買い換えるか、それともブラウザーを代えるか?

 この状況の改善策は2つある。1つはマシンをより速いものに換えることだ。最近のマシンでメモリーを潤沢に積めば、JavaScriptをフルに使った ページでも快適に閲覧できる。だが、しかし「MMORPGでもない、たかだかウェブサイトの閲覧に最新マシンのスペックが必要だなんてばかげた話だ」とい うのが多くの人が持つ感想ではないだろうか?

 そこでオススメなのが2つめの方法、すなわちJavaScriptの処理が速いブラウザーを導入することだ。先に述べたように、もともとブラウ ザー開発者はAjaxのようなJavaScriptの使用法を想定していなかった。それだけにJavaScriptの動作を改善した次世代ウェブブラウ ザーは、大きなパフォーマンス向上が見込める。

 ここで紹介するのはWindowsで使える代表的なブラウザーである「Internet Explorer」「Firefox」「Opera」「Safari」の最新バージョンだ。Safari以外はベータ版のため常用には向かないが、今後ど れだけパフォーマンスが向上するかを知るには良い材料となるだろう。



Internet Explorer 8 ベータ1

Internet Explorer 8 ベータ1
HTMLやCSSの解釈をIE7互換モードに切り替えるスイッチがある以外は、UIはほぼIE7と変わらない

 言わずと知れたWindows標準のウェブブラウザーで、圧倒的なシェアを誇る。かつて指摘されていた機能不足やセキュリティー対策の不備も、 IE7で改善された。IE8ではさらに、ウェブ開発者の間で評判の悪かったウェブ標準との互換性を見直して「CSS 2.1」や「HTML5」へ対応したほか、JavaScriptなどのパフォーマンスも改善している。なお、IE8は次期Windowsとの同時リリース になる見込みで、今後さらに機能が実装される可能性がある。



Firefox 3 ベータ5

Firefox 3 ベータ5
デフォルトのボタンインタフェースが若干変更されている。Firefox 2よりも動作は軽快に感じられた

 IEが圧倒的なシェアを誇る中に現れて、急速に支持を広げているのがFirefoxだ。Netscapeの遺産を受け継ぎ、オープンソースで開発 が行なわれている。スキンを変更したり、アドオンにより機能を追加できる高いカスタマイズ性が人気を呼び、主に先進ユーザー層を中心にシェアを伸ばし続け ている。Firefox 3では細かなUIの変更のほか、表示速度が大幅に改善されている。また、ほかのブラウザーのユーザーには違和感のあった、長いURLが折り返し表示されな い問題も修正されている。



Opera 9.5 ベータ2

Opera 9.5 ベータ2
新機能の履歴検索は結果表示も速くて使いやすい。マイナーアップデートなのでUIの変更はなされてない

 タブブラウジングやマウスジェスチャーなど、今日のブラウザーでは当たり前となった機能をいち早く実装して評価を得たのがOperaだ。 Opera 9からは「BitTorrent」クライアント機能やウィジェットなどを搭載するなど、現在も新機能の追加に積極的で、一部ユーザーに根強い人気を誇って いる。Opera 9.5ベータ2では新たに全文履歴検索機能を搭載し、ツールバーに数文字入力するだけで過去に訪問したページを探し出すことができる。



Safari 3.1.1

Safari 3.1.1
フォント表示がキレイなのが印象的。シンプルなUIのせいもあって、動作が軽快に感じられる

 元々はMacの標準ブラウザーだが、2007年6月にWindows版も公開された。独自のレンダリングエンジンを搭載し、Windowsでも Mac並みの綺麗なフォント表示ができる。機能の多彩さは他のブラウザーにやや劣るが、うたい文句の表示の速さに定評がある。HTMLレンダリングエンジ ンには、ウェブ標準に準拠した「Webkit」を採用。公式リリースされたブラウザーとして初めて「ACID2」テストに合格したが、忠実にHTMLを解 釈しようとするが故に、書式の正しくないページで文字化けが起こることも。




次世代ブラウザーはどれだけ速いのか?

「SunSpider 0.9」のベンチ結果
「SunSpider 0.9」のベンチ結果

 さて、これらを踏まえて、4大ブラウザーのJavaScriptパフォーマンスを計測してみた。

 計測に使ったツールは、アップルのWebkit開発チームが公開しているテストツール「SunSpider 0.9」(http://webkit.org/perf/sunspider-0.9/sunspider-driver.html ) を使用した。開発者によれば、実際にウェブアプリケーションで使われているコードを用いているのが特徴とのこと。APIやDOMを使ったパフォーマンスは 測定されないため、実際にウェブアプリケーションを使ったときの体感速度と必ずしも一致するものではないが、十分参考になる。

 なお、今のバージョンに比べてどれだけJavaScriptの処理が速くなったかを比較するため、IE7とFirefox 2のパフォーマンスも計測してみた。ただし、Opera 9.27はどうしてもSunspiderを完走しなかったため、結果を計測できなかった。SunspiderとOperaのどちらに原因があるかはわから ないが、Webkit開発チームのブログではユーザーからコメントで同様の現象が起こったことが報告されている。

 使用したマシンは「ThinkPad X31」(Windows XP SP2、Intel Pentium M 1.7GHz、1.5GB RAM)。少し前のモデルだが、このぐらい前のマシンを使っているユーザーは珍しくないこと、古いマシンのユーザーほどブラウザーの最適化による恩恵が大 きいであろうことからテストに使用した。



爆速!次世代ブラウザーは飛躍的にスピードアップ

 テスト結果から分かるのは、次世代ブラウザーではJavaScript処理がめざましく改善されているということである。特に約1分近くも処理に時間がかかっていたIE7が、IE8で12秒と大幅にスピードアップしているのが目立つ。

 IE7が極端に遅いのは「String」(文字列処理)が足をひっぱっていたからで、これが改善されたのが大きい。なお、Sunspiderでは テスト結果の誤差率も表示されるのだが、IE7のStringでは2~3%程度の誤差率に留まっているし、IE8を含むほかのブラウザでは順当な結果が出 ているので、テストの間違いでは無さそうだ。

 最速だったのは、Firefox3だ。開発チームは過去最速と述べているだけあって、決して遅くはなかったFirefox2より更に高速化している。IEとの差を考えれば、今夏に予定されているFirefox3の登場により、さらにシェアを拡大することだろう。

 僅差で2位だったのが、昨年6月にWindows版が登場したばかりのSafariだ。Mac版登場時から表示の速さがウリだっただけに、正式版 の中では群を抜いている。AppleはMac OS Xで、ウィジェットというJavaScript等のスクリプト言語で動くミニアプリケーションの実行環境(これもブラウザの一種といえる)を導入していた ため、JavaScriptのパフォーマンスアップを早期から重視していたのではないだろうか。




DOMの処理速度もスピードアップ

「Benchmark - W3C DOM vs. innerHTMLshow」のベンチ結果
「Benchmark - W3C DOM vs. innerHTMLshow」のベンチ結果

 SunspiderはWebkit開発チームにより作られたものなので、Safariに有利な結果が出ている可能性はある。また、JavaScript は「DOM」(Document Object Model)というAPIを使って処理を行なうことがあるが、SunspiderではDOMの処理をテストすることができない。

 そこで、Benchmark - W3C DOM vs. innerHTMLshow というツールを使ってDOMの処理をテストをしてみた。このツールは元々DOMとInnerHTMLでどちらが速いかをテストするツールだが、ブラウザーごとのDOMの処理速度を見るのにも使える。

 こちらでもやはり、次世代ブラウザーがスピードアップしているのが分かる。IE7がほかのブラウザーに比べてかなり遅いのも、Sunspiderと同じ結果だった。両方のテストを総合すると、SafariとFirefox3がツートップということになるだろう。

 最後に、Google Docsなどのウェブアプリケーションを実際に使用してみたところ、やはりテストで良い結果を出したブラウザーは体感でもかなり速い。筆者は現在Sleipnirを常用しているが、IE7がいかにもっさりとした動作だったかを実感させられた。



IE8を待つ間にSafariでもいかが?

 以上を踏まえて言うと、ブラウザーでこれだけ速度が改善されるのだから、スペックで劣る古いマシンを使っているユーザーほど、次世代ブラウザーを導入するメリットが大きいと言えるだろう。テスト結果も表しているとおり、世代間の差は歴然としている。

 ただし、ベータ版はあくまでテスト用で動作が不安定なこともあり、日常の使用に向いているとは言えない。今すぐ使えて安定しているという点から言 えば、Safariが現時点では最も有効な選択肢になるだろう。Opera 9.5もFirefox3も遠からず正式版がリリースされるので、これらのブラウザーを使っているユーザーは待ってみるのも手だ。

 だがIE8の場合、次期Windowsと同時リリース予定のため、2009年末~2010年まで待たなければならない。JavaScriptを活 用したサイトは今後も更に増えていくことが予想されるだけに、IEユーザーには厳しい状況だろう。IE7でJavaScript処理系を改善するという計 画は聞かないので、ウェブアプリケーションを頻繁に利用するIEユーザーは、ほかのブラウザーへの乗り換えや併用を検討してみるのが良いかもしれない。