動的処理の高速化に取り組むモダンブラウザー
WebKitプロジェクトBlogの“Full Pass of Acid3”という記事にて、WebKitがAcid3テストを完全に通ったというアナウンスがありました。しかしWebKitは3月に「100/100」というスコアを出しており、テストで利用されている仕様への準拠は終了しています。いったい「完全」とはどういった意味なのでしょうか。
テストに通るとスマイリーが表示されることで有名なAcid2テストは、CSS 2.1に関するテストが中心となっていました。しかし、Acid3はより動的な側面である、DOMやJavaScriptの実装度合いを確かめるためのテストです。テストそのものが動的に更新されることから、仕様の実装だけではなくそのパフォーマンスもチェックするように求められています。WebKitは3月の時点で仕様の実装が完了したものの、パフォーマンスの向上については満足に行われていませんでした。
その後WebKitは、高速化されたJavaScriptエンジン「SquirrelFish」を発表し、パフォーマンスの向上に取り組む姿勢を明らかにしました。SquirrelFishは現在WebKitのナイトリービルドに搭載され、先週には、SquirrelFish Extremeという、さらなる高速化を施したエンジンの発表も行っています。Acid3を完全に通ったという発表は、WebKitが動的な処理のパフォーマンスについても充分に向上したことを示したかったのでしょう。
新しいJavaScriptエンジンの採用は、WebKitだけではありません。たとえば、年末公開予定のFirefox 3.1には「TraceMonkey」という新しいエンジンが搭載されます。また、先日発表されたGoogle ChromeはWebKitを採用しながらも、JavaScriptエンジンについては独自の「V8」という仮想マシンを搭載しています。
OperaやInternet Explorerからではこのような発表はありませんが、既存エンジンの改良による向上は日々続けられていると考えてよいでしょう。動的処理の高速化は、現在どのベンダーも注力しているテーマなのです。