オープンソース Firefox ブラウザの次期バージョンについては、興味をそそられることがたくさんあります。からプライベートブラウジングモードにタブプレビューパネル、 からパンチのある色に本当に賢いセッションの復元、人々がウェブをどのように使いたいかについて、多くのことが考えられてきました。しかし、おそらく Firefox 3.1 の最大の期待は、ほとんどのユーザーがまったく目にすることのないもの、つまり、新たに TraceMonkey と名付けられた、ブラウザの JavaScript エンジンの大幅な見直しです。 Mozilla 開発者のブログを熱心にフォローしたり、インサイダー技術ニュースを読んだりしない場合は、TraceMonkey についていくつかの質問があるかもしれません。たとえば、TraceMonkey の何が違うのか、どのくらい速いのか、なぜそれが重要なのか、どのように試すことができるのかなどです。今すぐ出てきます。 TraceMonkey の機能と使い方、体験方法について入門書をまとめました。次期 Firefox の内部の新機能については、以下を読んでください。グラフ経由ブレンダンのロードマップの更新。
TraceMonkeyとは何ですか?
この質問に対する誰もが理解できる答えは、「これは Firefox 3.1 の新しい JavaScript エンジンであり、はるかに高速です。」です。少しマニアックな答えは、TraceMonkey は次の子孫であるということです。スパイダーモンキー、Ye Olde Netscape Web ブラウザー用に書かれた初の JavaScript エンジンです。 TraceMonkey は、「ジャストインタイム」方式を使用して、TraceMonkey から与えられたコマンドを理解して実行します。アヤックス- ページを更新せずにデータを操作できる、Gmail、Facebook、その他の Web アプリなどの重いサイト。 Mozilla 幹部 1 名アルス・テクニカに語ったTraceMonkey は「場合によっては 20 ~ 40 倍の範囲でパフォーマンスが向上する」ということです。さて、本当にマニアックな方のために説明すると、TraceMonkey は、「制御フロー グラフがまったく構築されず、代わりに関連する (つまり、頻繁に実行される) 制御フローが実行中に遅延して検出される代替コンパイル戦略」を使用しています。または、特定の if/when コマンドを実行できるすべての方法を決定するためにプロセッサ時間を費やすのではなく、TraceMonkey は最初に実行するだけで、実行に必要なコードを生成します。コマンドの結果が異なる場合、または別のパスが「ホット」になるとすぐに、コンパイラーはすべての異なるパスのコードを再構成します。したがって、TraceMonkey は、コードの迷路、つまり「トレース ツリー」を通る少なくとも 1 つのパスを迅速に見つけ出し、それをできるだけ早くユーザーに提供します。衝動的なチェスプレイヤーと、太陽の下ですべてのシナリオを実行するために午後中を費やす男のようなものだと考えてください。この CSE ドロップアウトよりも詳しい説明が必要ですか?試すAndreas Gal の TraceMonkey FAQ 投稿、 またはこの PDF ホワイトペーパーカリフォルニア大学アーバイン校の博士がトレース ツリー手法について説明しています。または、金井元氏による BarCamp プレゼンテーションの関連する TraceMonkey 部分に並んでいる以下のビデオをチェックしてください。
ミリ秒は実際どのくらい重要なのでしょうか?
要するに、たっぷり。 JavaScript は今日の Web 開発者の間で主流のテクノロジーとなっており、Mozilla は、世の中のほぼすべての Web ブラウザ メーカーと同様に、デスクトップ上で実行されるコードと同じくらい高速にすることを目指しています。誰もがそのようなスピードに近づけば近づくほど、デスクトップとしての Web というアイデアが現実に近づきます。これは、次の図でわかりやすく示されています。オンライン写真編集のビデオデモンストレーションMozilla のサイトにあります。ジャストインタイム コンパイルでは、基本的に JavaScript アプリ全体を再ロードしてアプリがどのような状態にあるかを把握する必要があるのではなく、Web プログラムに対してユーザーが実行するアクションはデスクトップ アプリで調整されているかのように処理されます。でもあなたは数字とグラフを使うタイプですよね?モジラが投稿しましたTraceMonkey ベンチマーク8月にAppleのSunSpiderテスターで実行されました。基本的な概要グラフは次のとおりです。
そして、これは、Mozilla が同じ SunSpider ベンチマーク スイートで実行している、Google Chrome の大いに宣伝されている V8 JavaScript エンジンと対戦した TraceMonkey です。
Mozilla さえも指摘しているように、これは JavaScript の速度をテストする 1 つのテストにすぎず、Firefox の開発者が公開したものだけが表示されます。同じ方法で TraceMonkey 対応の Firefox 3.1 ビルドを実行してみましたケルティック・ケインのJavaScriptテスト弊社で使用しましたブラウザの速度テスト(少なくとも 1 人の Firefox 開発者が持っているもの~について深刻な疑問を表明した)、しかし結果はかなり的外れで、タイムアウトが Chrome よりも 10 倍遅く、さらには Firefox 3.0 よりも遅くなりました。人間の観察によると、Gmail は TraceMonkey を使用するとかなり機敏になったように見えました。また、メイン ページ上の Facebook のミニフィードは、Web ページが呼び出された瞬間にページを折りたたみ始めたように見えました。もちろん、私は可変性の高い Windows Vista を使用しており、私の Firefox 3.1 ビルドではアドオンや外部プラグインは実行されていませんでした。それでも、Mozilla の主張は単なる内部開発者の自慢ではないようです。このサルは機敏です。
それでは、Firefox 3.1 に切り替える準備をしなければなりませんか?
私たちは、オープンソースで拡張性の高いブラウザーを宣伝することに決して恥ずかしがりません。そのため、ブラウザーが公開されなくなったら、遠慮なく試してみてください (または、通常の Firefox に影響を与えずにテストを行う方法については、以下を参照してください)。しかし、Firefox のすべてのコードが誰でも利用できることを考えると、Firefox の SpiderMonkey エンジンはすでにYahoo ウィジェット、オフラインUltima Online サーバー エミュレーター、Windows-in-Linux の JavaScript 要素ワインプロジェクト、おそらく他にもかなりの数のスポットがあります。 TraceMonkey の速度が顕著な影響を与える場合は、これらの場所やその他多くの場所で TraceMonkey が導入されることになるでしょう。また、他のブラウザもそれを主力またはオプションとして採用するか、少なくとも独自のバージョンを開発する可能性があります。
よし、売れた。 Firefox で TraceMonkey を入手するにはどうすればよいですか?
私たちの勇敢な (そして Firefox を愛する) インターンアジアの天使Firefox やインストールされている他のブラウザに触れることなく TraceMonkey をテストする方法を詳しく説明するという素晴らしい仕事をしてくれました。彼女のブログで。基本的には次のコピーをインストールしますポータブルFirefox、最新のものを取得しますTraceMonkey を有効にした Firefox 3.1 のベータ版ビルドそしてそれをそのPortable Firefoxフォルダの中にインストールします。 3.1 には、Web コンテンツに対してデフォルトで有効になっている TraceMonkey が付属していますが、TraceMonkey をブラウザ Chrome (つまり、ツールバーやディスプレイ) やアドオンの頼りになるハンドラーにすることもできます。enabling it in about:config
。
あなたの意見
私たちは確かに TraceMonkey で私たちの記事を述べました (そして示しました) が、非常にマニアックなチームとはいえ、私たちはブロガーの 1 つのチームにすぎません。私たちは、TraceMonkey が Web の荒野でどのように機能しているかを最先端のファンから聞きたいので、コメント欄であなたの意見を教えてください。