Firefox 3 Beta5ではGoogle Docsも軽快に

SaaSに追い風、桁違いに速い次世代Webブラウザたち

2008/04/04

 Webアプリケーションがローカルアプリケーションに比べてもたついて感じられるのには大きく2つの理由がある。1つはネットワーク遅延で応答性が悪いこと。もう1つはコンテンツを動的に扱うJavaScriptエンジンが遅いことだ。

 前者のネットワークの遅延についてはAjaxと総称される非同期通信のテクニックが進化したことで、体感速度は大幅に向上した。単純な文字列の書き換え程度であれば、サーバからの応答データをパーズすることなく直接HTML中に埋め込むことで高速化する“innerHTML”と呼ばれるようなテクニックも、メジャーなWebブラウザで使えるようになっている。

 後者の理由、JavaScriptエンジンが遅いという認識は、まだあまり広く共有されていないかもしれない。Webブラウザベースの(JavaScriptを使った)アプリケーションの動作は「モッサリ」している。ネイティブコードに比べてオーバーヘッドが大きいのだから、そんなものだというのが一般的な認識だろう。

 しかし、これは主流の現行Webブラウザに搭載されるJavaScriptエンジンが遅いだけで、原理的な問題ではなかったようだ。次世代Webブラウザに搭載されるJavaScriptエンジンは、軒並み大幅に高速化している。従来のものと比べて2倍、3倍の高速化を果たしており、Webアプリケーションが非常に軽快に動作するのだ。特にSaaS型オフィスアプリケーションなど高度に動的なもので、その効果は著しい。

最速JavaScriptエンジンはどれだ!?

 Mozillaファウンデーションは2008年4月2日、次期Webブラウザ「Firefox 3」のベータ版「Firefox 3 Beta 5」をリリースした。リリースノートによれば、JavaScriptエンジンの改良とプロファイルに基づく最適化により、GmailやZoho Officeが2倍高速に動作する、とある。

 早速、JavaScriptのベンチマークテストを行ってみた。対象としたWebブラウザはFirefox 3 Beta 5のほか、Firefox 2、Internet Explorer 6、Internet Explorer 7、Internet Explorer 8ベータ版、Opera 9.50ベータ版、Safari 3.1、それにSafariで採用されているレンダリングエンジン「WebKit」の2008年4月3日時点での最新版スナップショットであるWebKit r31446だ。

 使用した環境はレノボのThinkPad X60(Core 2 Duo 1.66GHz)、メモリ1GB、Windows XP SP2で、ベンチマークテストには「SunSpider 0.9」を使った。SunSpiderはWebKitの開発チームが作成したベンチーマークテストで、WebKitに有利な結果が出る可能性は否定できない。とはいえ、文字列処理、演算処理、利用頻度の高い暗号処理、文字列のエンコード処理、3Dレイトレーシングなど、実際のアプリケーションで使える一般的なコードが、26項目含まれているので目安として見るには十分だろう。WebKit開発チームは特定の機能ではなく、JavaScript全般の機能を計測するよう設計したとしている。

js01.png SunSpider 0.9を使ったJavaScripの実行速度ベンチマーク結果(クリックで拡大)。世代交代が進めば数倍に高速化することが分かる

 グラフをご覧いただければ一目瞭然だが、Firefox 3とSafari 3.1(WebKit)が圧倒的に速い。IE7とFirefox2という現行バージョンがSunSpiderの実行に要した時間は、それぞれ約42秒(41919ms)、約22秒(21539ms)であるに対して、IE8ベータ版は約12秒(12538ms)、Firefox 3 Beta 5は約5秒(5019ms)、Safari 3.1は約6秒(6206ms)と大きな差がついた。理由は不明だが、現行最新バージョンではないがシェアで勝るIE6がIE7より速い。

 最も遅いIE7と最速のFirefox 3ベータを比べると8.4倍の速度差がある。Firefoxの2と3を比べても4.3倍の差があり、JavaScriptエンジンが次世代で大幅に高速化されているのが分かる。

 違いは数字上だけではない。Google Docs、Zoho、先日発表されたオンライン付箋サービスのLinoなど、アプリケーションと呼ぶにふさわしいリッチなUIを備えたWebアプリケーションを使うと、その差はハッキリ体感できる。

 SunSpiderにはDOM関連の項目が含まれていない。いったんWebブラウザ上にロードしたHTMLを動的に書き換えるようなWebアプリケーションの多くはDOMを利用しているため、SunSpiderとは別にDOMの基本的な機能を実行して時間を計測するベンチマークテスト「DOM Core Performance」で各Webブラウザの性能を測ってみた。結果は遅い方から順にIE7(71558ms)、IE6(70291ms)、IE8ベータ(40286ms)、Firefox 2(7265ms)、Firefox 3 Beta5(1148ms)、Opera 9.50beta(703ms)、Safari 3.1(247ms)、WebKit r31446(190ms)と、これも大きな差がついた。文字通り桁違いの差だ。

js02.png DOMの基本的な処理を行うベンチマークテストの結果(クリックで拡大)

通常のレンダリングも高速に

 個別のWebブラウザの速度差は、リリース時期の違いもあるので勝った負けたの議論はあまり意味がない。注目したいのは、現在ベータテスト中だったり、新たに登場したばかりの次世代のWebブラウザが圧倒的に速くなっているという事実だ。これはSaaSという新しいソフトウェアの配布形態を強力にプッシュする追い風となるだろう。Webブラウザで実行しているからモッサリ――、そうした印象はいずれ覆る。

js03.png 今回の記事のグラフ作成にはGoogle Docsの表計算アプリケーションを使った。このくらいリッチなWebアプリケーションになればFirefox 3 Beta5のように高速なJavaScriptエンジンが威力を発揮する

 JavaScriptだけでなく、通常の静的コンテンツを扱うHTMLのレンダリングが高速になっている点も見逃せない。Firefox 3ではレンダリングエンジンがGecko 1.8系からGecko 1.9系に変わる。約31カ月かけて開発したという、この新しいレンダリングエンジンは大幅にパフォーマンスが向上している。今回ベンチマークは行わなかったが、メモリリークがひどく、動作が重たい最近のFirefox 2と比べると、ページの読み込み、HTMLのレンダリング、スクロール、タブの切り替えとどれをとっても大幅な速度向上が体感できる。Mozillaファウンデーションが「史上最速のFirefoxとなった」というのは誇張ではないようだ。例えばRSSリーダーから一気にWebページを20個開くような操作を行うと、Firefox 2ではほとんど固まったように動作が重くなるが、Firefox 3ではすらすらすらとタブが並ぶ。これはSafari 3.1でも同様でWebページの描画やWebページ間の移動が驚くほど高速だ。

 現在最も広く使われているWebブラウザはIE6、IE7、Firefox 2の3つだろう。IE8やFirefox 3の正式バージョンがいつリリースされるかは明らかではないが、向こう1、2年で世代交代が進めばローカルアプリケーションからWebアプリケーションへの移行はますます加速するのではないだろうか。

 また現在、ほとんどのケータイのWebブラウザでJavaScriptは使えないが、LiMoファウンデーションやAndroid、iPhoneはいずれもレンダリングエンジンにWebKitを採用するなど、今後、モバイル端末でも高速なJavaScript実行環境が一般化する可能性がある。モバイル端末も含めたWebアプリケーションの進化はこれからが本番かもしれない。

(@IT 西村賢)

情報をお寄せください:

HTML5 + UX フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

キャリアアップ

- PR -

注目のテーマ

ソリューションFLASH

「ITmedia マーケティング」新着記事

「ECプラットフォーム」 売れ筋TOP10(2024年3月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。

GoogleがZ世代のローカル検索でInstagramやTikTokに敗北 なぜこうなった? これからどうなる?
Googleは依然として人気の検索サイトだが、ことZ世代のローカル検索に関しては、Instagra...

DE&Iに関する実態調査 「公平」と「平等」の違いについて認知度は2割未満
NTTデータ経営研究所がNTTコム オンライン・マーケティング・ソリューションと共同で実施...