Firefox 3.1 Beta 1レビュー:JavaScriptエンジンTraceMonkeyでどう変わる?

杉山貴章(オングス)
2008-10-17 08:00:00
  • このエントリーをはてなブックマークに追加

TraceMonkeyの性能は

 TraceMonkeyはJIT(Just In Time)コンパイラを搭載した新しいJavaScriptエンジンである。今回のリリースではこのTraceMonkeyのテスト的な実装が同梱されている。ただしまだバグが多く実用には適さないため、デフォルトでは無効になっている。有効にするためには図4のようにabout:configから「javascript.options.jit.content」の項目をtrueにすればよい。

図4 TraceMonkeyを有効にするにはabout:configでプロパティを変更する必要がある 図4 TraceMonkeyを有効にするにはabout:configでプロパティを変更する必要がある

 このTraceMonkeyを無効にした場合と有効にした場合のそれぞれで、SunSpider JavaScript Benchmarkを利用してベンチマークをとってみた。

図5 TraceMonkeyを無効にしている場合(デフォルト)のベンチマーク結果 図5 TraceMonkeyを無効にしている場合(デフォルト)のベンチマーク結果
図6 TraceMonkeyを有効にした場合のベンチマーク結果 図6 TraceMonkeyを有効にした場合のベンチマーク結果

 TraceMonkeyを有効にした場合のトータルタイムは3351.0msとなっており、無効にした場合の5645.2msに対して明らかに高速に動作していることがわかる。ただしJITコンパイラを搭載しているTraceMonkeyの方の結果は誤差範囲が大きく、パフォーマンスにばらつきがあることも確認できる。

Geolocation APIで位置情報を活用

 Geolocation APIは、W3Cでドラフトになっている位置情報取得規格「W3C Geolocation Specification」を利用ためのAPIである。Firefox 3.1では、このAPIを利用して現在の位置情報を特定することができるようになる。現時点では位置情報の取得にはSkyhook Wireless社のWi-Fi電波による測位システム「Loki」が利用されている。

 Mozilla Labsはこの機能を利用して現在位置の近くにあるレストランを検索する「The Food Finder」サービスを公開している。Firefox 3.1でこのサービスにアクセスすると、図7のように位置情報を送信するかどうかが確認される。

図7 サービスが位置情報を利用する場合、最初に情報を送るかどうか確認される 図7 サービスが位置情報を利用する場合、最初に情報を送るかどうか確認される

 ここで位置情報を送れば、それを元に近所のレストランを表示してくれる。ただし、筆者のいる場所はSkyhook社の位置情報データベースがカバーしていないようでこのサービスは利用できなかった。Firefox 3.1の最終版ではGPSなど信号の種類を選択できるようになるとのことである。

まとめ

 もともとFirefox 3のリリース時に時間的な都合から未実装であった機能がいくつか残されており、Firefox 3.1でそれが追加されることになっていた。CSSやHTML 5のサポート強化、タブ切替えなどがその一例である。その結果、3から3.1へは通常のマイナーバージョンアップ時よりも多くの変更が加えられている。APIの追加や更新も含まれているため、ウェブ開発者は動向に注目しておく必要がある。

 次のリリースとなるFirefox 3.1 Beta 2は11月4日にコードフリーズされ、同月半ばに公開される予定となっている。正式版のリリース予定はまだ明らかにされていないが、現在の開発ペースならば早くても2009年初め頃になるだろう。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]