米Mozilla、JavaScript EvangelistのJohn Resig氏 |
Adobe MAX Japan 2007やユーザコミュニティなど、いくつかの講演を目的として来日したJohn Resig氏に、将来のFirefoxで搭載されるJavaScript実装やjQueryについて所見をいただいた。John Resig氏はMozillaでJavaScript Evangelistを務める人物。jQueryのメイン開発者でもある。業務ではMozillaでJavaScriptコミュニティとの調整役を務め、夜間や週末はjQueryの開発に没頭している。同氏が見るJavaScriptの未来はFirefoxのみならず、ほかのWebブラウザにとっても重要なものだ。
Tamarinの寄贈から1年、Firefox 4とFlash10でお目見え
ちょうど1年ほど前の2006年11月7日(米国時間)、Mozilla FoundationはAdobe SystemsからActionScript仮想マシンのソースコード寄贈を受けることを発表した。同成果物はTamarinと名づけたプロジェクトで開発が進められている。TamarinはFirefoxのJavaScript処理を劇的に改善することになるため、その発表は多くの関係者の注目を集めた。
Tamarinについては、Adobeの方から寄贈の申し入れがあったようだ。AdobeとMozillaはThe ECMAScript Technical Committeeにおいて次期版にあたるECMAScript第4版の策定を進めている。AdobeはECMAScript第4版の策定を進めるにあたってMozillaとの共同開発が優れた選択肢だと判断。同社のポートフォリオであるActionScript仮想マシンの実装を寄贈し、ともに開発していく道を選択した。TamarinはFirefox 4で採用される予定になっているほか、Flash 10にも採用されるとみられている。またTamarinはScreamingMonkeyプロジェクトのもとでIEへの対応も計画されている。IEがどのタイミングでJavaScript 2に対応するか不透明であるため、ScreamingMonkeyを通じてJavaScript 2の対応実装を先に提供しようというわけだ。Adobeとしては多くのWebブラウザやプラットフォームで同成果物が採用されることを望んでいるようだ。
Firefox 3のリリースは2008Q2、順調に進めばFirefox 4のリリースは2009Q2になるとみられる。β版はもっとはやい時期にリリースされる見通しだ。Firefox 3の最初のβ版は数週間以内に予定されており、Firefox 4についても順調にいけば2008Q4には最初のβ版がリリースされることになるだろう。
Tamarinはとにかく速い、JITとHPですでに5倍の高速化
Tamarinのなにがすごいかといえば、とにかくその実行速度だ。現在初期段階の試験がおこなわれているが、まだ最適化していないにもかかわらず、従来の実装と比べて5倍の実行速度改善が確認されている。Ajaxアプリケーションの普及が進んでいる昨今、同仮想マシンの実行速度改善はユーザエクスペリエンスの改善にストレートに効いてくる。
Tamarinが大幅なパフォーマンス改善を実現できるのは、JIT技術の採用によるところが大きい。Java仮想マシンでも採用されている技術だ。実行時にスクリプトをより高速に動作するネイティブコードに変換していく。このため、インタプリタで動作する場合と比較して実行時間を短縮できるという寸法だ。
JITは重要な技術だが、実装にバランス感覚が必要とされる面もある。闇雲に実装すれば逆に遅くなりかねない。多くのWebページは1ユーザーあたり1回だけしかアクセスされないため、Webブラウザ上で各WebアプリケーションのJavaScriptコードが実行されるのは最初のロード時のみとなる。この場合、JITを使った最適化は逆に実行速度を落とすことになる。このあたりの最適化は今後調整していくことになるようだが、すでにHotPath Optimization機能を通じて、よく使われる部分が最適化されるようになっているようだ。