Mozilla Corporation のスタッフ Brendan Eich が 昨年 8 月 に発表 して以来、多くの方から Firefox 3.1 に搭載予定の新 JavaScript エンジン TraceMonkey にご注目いただいております。
しかしこれまで TraceMonkey とその採用技術 Tracing については、Adobe Corporation、カリフォルニア大学、Mozilla Corporation の各スタッフが Blog などで解説してきましたが、英語で書かれている上に非常に専門的だったり部分的な解説ばかりで、少々敷居が高かったかと思います。
そこで、JavaScript をどのように高速化していっているのか、TraceMonkey で採用する技術を中心として、概要をまとめた資料を作成してみました。
JavaScript やプログラミングの知識がなければなかなか難しいですが、興味のある方がコードや論文を読んでいく前の、最初の一歩にでも役立てていただければ幸いです。
JavaScript はこれまで遅い言語であるといわれてきましたが、それはこれまで単純なスクリプトに使われており、高速化への需要も投資もなかったからに過ぎません。Web が次世代のプラットフォームとして注目され各社が高速化に注力し始めた今、既存の最適化手法と合わせて、静的変数型、クラス、配列が存在しないインタープリタ型言語という、JavaScript の特徴に応じた最適化技術が次々と導入されていっています。
オープンソースの元での健全な開発競争により、JavaScript が次世代 Web のプラットフォームを支える基盤技術として成長していくのを共に実感していただければ嬉しいです。