読者です 読者をやめる 読者になる 読者になる

Mozilla Flux

Mozilla関係の情報に特化したブログです。

Firefox 5リリース記念:旧世代とのパフォーマンスを比較してみる

予定どおりFirefox 5がリリースされた。高速リリースサイクルを採用した結果、Firefox 4からわずか3か月で新しいバージョンに移行したわけだ。この短期間で、多少なりともパフォーマンスは上がっているのだろうか。それとも、新しいサイクルをテストするため、Web開発者向けの変更が加えられたにとどまるのか。

Firefox 5(Beta 7)のパフォーマンスを旧世代と比較するため、ざっくりとしたテストを行った。対象は、以下のとおり。いずれもWindows Vista SP2(32bit版)上で動作し、新規プロファイルを利用。初期設定のまま、アドオンはすべて無効化してある。ただ、プラグインまで全部無効にすると性能がわからなくなるので、Adobe Flash Player 10.3だけ有効にした。なお、ハードウェア(HW)アクセラレーションはブロックされている。

  • Firefox 3.6:Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.9.2.17) Gecko/20110420 Firefox/3.6.17
  • Firefox 4:Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
  • Firefox 5:Mozilla/5.0 (Windows NT 6.0; rv:5.0) Gecko/20100101 Firefox/5.0

ページの読み込み

WebWaitを用いて、指定したWebページを10秒間隔で5回読み込ませた。はてなYahoo!ニュースを扱っている。当然ながら秒数が少ないほど高速である。

はてな

Firefox 3.6 Firefox 4 Firefox 5
平均値 1.32秒 1.26秒 0.72秒
中央値 0.66秒 0.68秒 0.60秒

Firefox 5の平均値が飛び抜けているのは、読み込みが極端に遅くなるケースが一度もなかったためだ。Webブラウザ側の要因か、Webサイト側の要因かは分からない。ちなみに、中央値で見てもFirefox 5の成績はよい。

Yahoo!ニュース

Firefox 3.6 Firefox 4 Firefox 5
平均値 1.48秒 1.18秒 1.23秒
中央値 1.35秒 2.00秒 1.92秒

平均値で見るとFirefox 4が、中央値で見るとFirefox 3.6が最もよい成績になった。

動的ページの処理

GUIMark 2から、Vector Charting TestBitmap Gaming Testに加えてText Column Testをピックアップして、走らせてみた。

Vector Charting Test

Firefox 3.6 Firefox 4 Firefox 5
fps 16.05 13 13.27

なぜかFirefox 3.6がトップに。Firefox 4 / 5は誤差の範囲で、ともに動作が少しカクカクする。

Bitmap Gaming Test

Firefox 3.6 Firefox 4 Firefox 5
fps 5.37 10.83 12.12

これは順当にFirefox 5の勝ち。動作の様子を見ていても、明らかに旧世代よりスムーズだった。

Text Column Test

Firefox 3.6 Firefox 4 Firefox 5
fps 26.44 25.99 25.34

何と旧世代ほど成績が良いという意外な結果になった。ただ、動作を眺めていた際の印象としては、Firefox 4 / 5にほとんど差はなく、Firefox 3.6が最もスムーズだった。Firefox 4 / 5の結果が悪かったのは、動作の途中で急にフレームレートが下がることがあり、そこに足を引っ張られたためだとみられる。

Canvasの描画

風と宇宙とプログラム「Canvasのベンチマークテストを作って速度を比較してみた」に掲載されていたCanvas Performance Benchmarkを用いて、Canvasの描画処理に関する性能を測定した。

Firefox 3.6 Firefox 4 Firefox 5
Total Score 1.08 0.987 0.989

ここでもFirefox 3.6が最高のスコアを出した。Firefox 4 / 5はテストの後半で処理が若干追いついていないような感じだったため、何か共通の原因があるのかもしれない。

HTML5/JavaScript総合

4Gamer.net「『enchant.js』でゲームはどれくらい動くのか? HTML5でゲームベンチマークを取ってみよう」に掲載されていたシューティングゲームタイプのベンチマークを利用し、100秒間のフレームレートの合計値を測定した。enchant.jsはHTML5/JavaScriptベースのスマートフォン用ゲームエンジンであり、これを利用した上記のベンチマークは、実環境における性能の目安となるだろう。

Firefox 3.6 Firefox 4 Firefox 5
Score 2381 2862 3409

Firefox 5の性能の高さが目を引く。GUIMark 2でもそうだったが、ゲームを処理させるとFirefox 4よりも明らかに高速になるのが興味深い。

JavaScript処理

Firefox 4以降、ベースラインJITと呼ばれるJaegerMonkeyがJavaScriptエンジンに追加されたため、JITが働かない場合の性能をテストする意義が薄れた。代表的なベンチマークを利用して、初期設定の状態でのパフォーマンスを見ていく。

SunSpider

ここでは、Chromium Blog「Updating JavaScript Benchmarks for Modern Browsers」で紹介されているGoogle修正版のSunSpider 0.9.1 JavaScript Benchmarkを用いる。それぞれのテストを50回連続で行うようにしたものだ。

Firefox 3.6 Firefox 4 Firefox 5
Total 960.8ms +/- 1.1% 280.4ms +/- 2.1% 280.0ms +/- 1.2%
3d 150.6ms +/- 4.7% 42.6ms +/- 5.8% 43.4ms +/- 4.0%
access 139.4ms +/- 0.4% 35.9ms +/- 2.4% 36.4ms +/- 4.5%
bitops 44.3ms +/- 2.3% 20.3ms +/- 1.0% 20.5ms +/- 1.7%
controlflow 39.5ms +/- 1.4% 2.6ms +/- 4.5% 2.6ms +/- 2.2%
crypto 34.1ms +/- 6.8% 13.4ms +/- 10.3% 12.7ms +/- 5.0%
date 143.5ms +/- 0.5% 38.8ms +/- 3.0% 38.8ms +/- 1.4%
math 44.6ms +/- 0.8% 25.2ms +/- 5.9% 27.9ms +/- 3.3%
regexp 36.5ms +/- 5.4% 16.6ms +/- 2.8% 16.6ms +/- 1.6%
string 328.3ms +/- 2.5% 84.8ms +/- 3.5% 81.1ms +/- 1.1%

Firefox 4 / 5は完全に誤差のレベル。一方、Firefox 3.6からの向上には目を見張るものがある。これだけのパフォーマンスアップを享受できるのだから、開発競争の真の勝者がユーザーであるのは間違いない。

V8 Benchmark

次に、V8 Benchmark Suite - version 6のスコアをチェック。

Firefox 3.6 Firefox 4 Firefox 5
Score 489 3147 3275

ここでもFirefox 4 / 5は、Firefox 3.6とは桁違いの数値を叩き出している。Googleのマーケティング用という側面もあるベンチマークだが、それでも大幅なスコアの伸びを見ると感慨深い。また、Firefox 5は、主にRichards・DeltaBlue・Crypto・Splayの4つでFirefox 4を上回り、総合スコアでトップに立った。

Dromaeo

Dromaeo: JavaScript Performance Testingは、Mozillaが提供する重量級ベンチマークであり、JavaScriptエンジンなどにかなりの負荷をかけてその性能を測定してくれる。Recommended Testsの最終結果を掲載するが、詳細を比較表から確かめることも可能である。

Firefox 3.6 Firefox 4 Firefox 5
Total 106.11runs/s ±3.27% 317.37runs/s ±2.14% 328.74runs/s ±2.05%

やはりFirefox 5は、JavaScriptの処理能力がわずかに向上している。いったんFirefox 4で性能が飛躍したのは言うまでもない。筆者がこれまでテストしてきたところでは、Firefox 3から3.5でエンジン性能が2倍近くになり、3.5から3.6でおおむね2割増になっていた。ところが、3.6から4では一気に3倍である。今後IonMonkeyが導入されても、ここまでの差は出ないのではないだろうか。

Kraken

Kraken JavaScript BenchmarkはMozillaが提供する新しいベンチマークであり、The Mozilla Blog「Release the Kraken」によれば、従来のものと比べ、現実のWebアプリを処理した際の性能を反映した結果になるという。

Firefox 3.6 Firefox 4 Firefox 5
Total 22252.2ms +/- 0.4% 6641.5ms +/- 0.7% 6775.9ms +/- 0.6%
ai 1350.0ms +/- 1.2% 995.8ms +/- 1.6% 1021.7ms +/- 1.7%
audio 7551.5ms +/- 1.0% 2278.2ms +/- 0.5% 2374.4ms +/- 1.0%
imaging 9042.0ms +/- 0.7% 2007.5ms +/- 1.0% 2080.3ms +/- 0.4%
json 471.6ms +/- 1.2% 328.0ms +/- 2.6% 264.8ms +/- 1.0%
stanford 3837.1ms +/- 0.8% 1032.0ms +/- 2.5% 1034.7ms +/- 1.5%

Firefox 4 / 5の圧勝は当然として、気になるのはFirefox 5が若干後退している点だ。その中で、jsonテストだけは健闘している。

総合評価

Firefox 5は、一部のテストでFirefox 4からの向上が見られ、それ以外のテストのほとんどでFirefox 4と互角の性能を発揮している。とくに、HTML5/JavaScriptベースのゲームによるベンチマークで好成績を収めた点が印象に残る。

Firefox 4 / 5というくくりでFirefox 3.6と比較した際、ベンチマーク結果が悪くなっている個所があるのも確かだが、今回のテストではHWアクセラレーションを考慮に入れていないため、ユーザーの環境が新しければ、全く違った結果になっていた可能性は十分にある。最新版にアップデートしない理由は見当たらないといえよう。