モジラ、「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 記事を毎朝メールでまとめ読み(登録無料)

  • このエントリーをはてなブックマークに追加

SpecialPR

連載

CIO
教育IT“本格始動”
月刊 Windows 10移行の心・技・体
ITアナリストが知る日本企業の「ITの盲点」
シェアリングエコノミーの衝撃
デジタル“失敗学”
コンサルティング現場のカラクリ
Rethink Internet:インターネット再考
インシデントをもたらすヒューマンエラー
トランザクションの今昔物語
エリック松永のデジタルIQ道場
研究現場から見たAI
Fintechの正体
米ZDNet編集長Larryの独り言
大木豊成「仕事で使うアップルのトリセツ」
山本雅史「ハードから読み解くITトレンド放談」
田中克己「展望2020年のIT企業」
松岡功「一言もの申す」
松岡功「今週の明言」
内山悟志「IT部門はどこに向かうのか」
林 雅之「デジタル未来からの手紙」
谷川耕一「エンプラITならこれは知っとけ」
大河原克行「エンプラ徒然」
内製化とユーザー体験の関係
「プロジェクトマネジメント」の解き方
ITは「ひみつ道具」の夢を見る
セキュリティ
セキュリティインシデント対応の現場
エンドポイントセキュリティの4つの「基礎」
企業セキュリティの歩き方
サイバーセキュリティ未来考
ネットワークセキュリティの要諦
セキュリティの論点
スペシャル
エンタープライズAIの隆盛
インシュアテックで変わる保険業界
顧客は勝手に育たない--MAツール導入の心得
「ひとり情シス」の本当のところ
ざっくり解決!SNS担当者お悩み相談室
生産性向上に効くビジネスITツール最前線
ざっくりわかるSNSマーケティング入門
課題解決のためのUI/UX
誰もが開発者になる時代 ~業務システム開発の現場を行く~
「Windows 10」法人導入の手引き
ソフトウェア開発パラダイムの進化
エンタープライズトレンド
10の事情
座談会@ZDNet
Dr.津田のクラウドトップガン対談
Gartner Symposium
IBM World of Watson
de:code
Sapphire Now
VMworld
Microsoft Inspire
Microsoft Connect()
HPE Discover
Oracle OpenWorld
Dell Technologies World
AWS re:Invent
AWS Summit
PTC LiveWorx
吉田行男「より賢く活用するためのOSS最新動向」
古賀政純「Dockerがもたらすビジネス変革」
中国ビジネス四方山話
ベトナムでビジネス
日本株展望
企業決算
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]