お使いのブラウザは最新版ではありません。最新のブラウザでご覧ください。

企画特集

企画特集一覧

注目コンテンツ

本日の主要記事

モジラ、「Firefox 3.1」でJavaScript実行を大幅に高速化 - (page 2)

文:Stephen Shankland(CNET News.com) 翻訳校正:佐藤卓、高森郁哉 2008/08/25 10:57

 TraceMonkeyの高速性は、動画や写真の編集にも表れている。コントラストや明るさの調整は、従来の700ミリ秒以上かから約100ミリ秒に短縮された。

 Shaver氏も、自分のブログでTraceMonkeyについて語っている

TraceMonkeyの詳細

 TraceMonkeyという名称は、現在Mozillaが採用しているJavaScriptインタプリタ「SpiderMonkey」と、カリフォルニア大学アーバイン校のAndreas Gal氏らが開発した「トレーシング」という手法に由来する。Shaver氏によると、Gal氏はTraceMonkeyの主任アーキテクトだという。

 TraceMonkeyは、ジャストインタイム(JIT)コンパイル方式を用いるJITコンパイラだ。JITコンパイルとは、人間が書いたプログラムをコンピュータが理解できる命令に変換するための技術の1種だ。

 コンピュータ上で稼働するソフトウェアの多くは、事前にコンパイルされた、いわゆるバイナリファイルだ。これに対して、JavaScriptはインタプリタ方式によって実行時に1行ずつ解釈されるため、処理に時間がかかる。Shaver氏は「インタプリタでできることは限界に近づきつつある」と述べた。

 だがJITコンパイラは、コードを読み込んだ時点(たとえば、ユーザーがウェブページを開き、ブラウザがJavaScriptのコードを見つけた時点)で、スクリプトを実行しながらバイナリファイルを生成する。

 ただし、TraceMonkeyは、ソフトウェアの中でも優先度の高い部分のみを集中して翻訳する。JavaScriptプログラムの実行状況を追跡して記録しながら、実行に時間のかかることが多い繰り返し処理(ループ)の部分を見つけ出すのだ。ソフトウェアが実際にループしている部分があれば、そのコンピュータが理解できるネイティブな命令コードにコンパイルする。

 これに対して、コンパイラの中にはプログラム全体を翻訳するものもある。そのためには、コードの処理過程でコンピュータがたどり得るすべての実行経路をマッピングし、最も重要な部分を見つけ出そうとするため、負荷のかかる処理となる。いっぽう、トレーシング手法では、実際のプログラム実行状況に基づいて判断するため、コンピュータを本当に占有している領域だけに集中させることが可能だ。

 Shaver氏は、「そのおかげで、プログラムの中で最も重要な部分に最適化のエネルギーを集中させることができる」と語った。

 こうした集中のおかげで、TraceMonkeyには大量のメモリや読み込みに時間のかかるプラグインを必要としない、とShaver氏は語る。この点はまた、Mozillaがブラウザ開発における重点目標の1つとして挙げているモバイル機器で使用する際にも有利な条件となる。

 しかし、ウェブベースのアプリケーションをよりよいものにするためには、まだまだやるべきことがたくさんある。Mozillaが次の重要項目と考えているのは、ウェブブラウザの中でウェブページ全体の描画と処理を受け持っているドキュメントオブジェクトモデル(DOM)要素だ。

 TraceMonkeyは現在、Firefox 3.1の開発者向けバージョンに組み込まれているが、デフォルトでは無効となっている。Shaver氏は、「このようにしたのは、幅広いフィードバックを求めているからだ」と述べた。

コメントスレッド

関連ホワイトペーパー (ZDNet Japan)

多機能時計カタログ

多機能時計カタログ
機能もデザインも充実の注目モデルをご紹介

カメラ解体新書

カメラ解体新書
注目の最新アイテムからお得情報も満載

レインシューズ特集

レインシューズ特集
メンズビジネス用も充実の品揃え

Bluetooth特集

Bluetooth特集
ワイヤレスでアクティブにスマートに!

お役立ちデジタル文具

お役立ちデジタル文具
情報のデジタル化を実現する次世代文具

ストレッチリフレ

ストレッチリフレ
高速微振動で骨格を補正。美しい体型づくり

特集 by 楽天市場

    インタレストマッチ - 広告の掲載について
    個人情報保護方針
    利用規約
    訂正
    広告について
    朝日インタラクティブについて