Mozilla Flux

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

数値で伝えられないもどかしさ

最新のShiretokoナイトリービルド(3.1b3pre, ID:20090123031537)では、タブ関連の修正のほかにも、多数の修正が加えられている。とくに、TraceMonkeyやJavaScriptエンジン本体に合計20個近くものパッチが入ったことは特筆に値する。

そこで、「JavaScriptエンジンに対するPGOが復活」に引き続いて、SunSpiderベンチマークで速度を計測してみた。結果は次のとおり。
2329.2ms +/- 1.0%(JITあり)
5743.8ms +/- 0.8%(JITなし)

……あれ? 下がってるぞ。最初にTraceMonkeyがオンの状態でテストしたとき、数値を見て、また最適化が効かなくなったのかと疑った。しかし、オフの状態でテストした場合の成績は、PGO復活前よりも明らかに上だ。ということは、JavaScriptエンジンに対する最適化はきちんと働いている。要するに、昨日入った修正はベンチマークの成績を下げる結果につながったのだ。

Firefox 3.1 Beta 2でも、TraceMonkeyをオンにすると2432.6ms +/- 0.9%という結果が出ることは、上の記事で紹介した。今回計測したShiretokoの数値は、それと大差ない。ベンチマークで4〜5%上回ったとしても、体感速度にほとんど影響しないのがふつうだ。

ところが、である。使用するWebサービスによっては、最新版のShiretokoのほうがはっきりとスムーズに動作する。たとえば、Googleマップ。東京駅周辺の地図を表示させ、ドラッグ&ドロップの要領で周辺のマップへ移動してみる。3.1 Beta 2では、新しい地図が表示される際、ときどき「引っかかる」。ワンテンポ遅れて地図が描画されるのだ。一方、Shiretokoではこの引っかかりがかなり解消され、次の地図が滑らかに現れる。昨日の修正だけでこの結果になったわけではないにせよ、相応の影響は与えているんだろう。

PCの処理能力など環境に左右されるので、こうした体感速度は伝えるのがすごく難しい。だからこそ、ベンチマークの成績が指標として用いられるわけだが、ベンチマークで目立った差がないのに、体感速度では勝っているケースをどう扱ったらいいだろうか。Internet Explorer 8は、体感速度に焦点を当ててチューニングしていると聞く。OS標準のWebブラウザはそれでもいいだろうが、Firefox 3.1はそれよりもさらに速いことをアピールしないといけない立場だ。おそらく、3.1のPR戦略にはわかりやすい動画が不可欠になるんだろう。