Adobe高速JavaScript実装、バイトコードにForthを採用

 

A Quick Introduction to Tamarin Tracing - by Chris Double氏

Webシステム開発用の言語としてJavaScriptが日に日に重要な位置を獲得しつつある。複雑なシステムを開発するとなるとその実行速度が問題視されるJavaScriptだが、コンパイル技術の導入やJITの導入で状況は改善されようとしている。特にFirefox 4で導入が予定されているAdobe Systemsから寄贈されたTamarinはJavaScriptの実行速度を劇的に向上させることになる。

Chris Double氏が3日(米国時間)、同氏のブログにおいてA Quick Introduction to Tamarin Tracingのタイトルのもと興味深いドキュメントを公開た。同氏は同ドキュメントで"tracing jit"と呼ばれる技術を活用した実装"Tamarin Tracing"について言及し、その効果を簡単なベンチマークとともに示した。

"tracing jit"は同ドキュメントによればコードの実行を追跡し、よく実行されるポイントを判別してコンパイルを実施する技術のこと。同技術を使って実装された"Tamarin Tracing"はオープンソースソフトウェアとして公開されており、Mercurialリポジトリ経由で取得できる。

同氏はフィボナッチ関数を作成し、いったんJavaScriptコードをabcバイトコードへコンパイル。コンパイルしたバイトコードを"tracing jit"技術が有効になった状態の仮想マシンと、無効になった状態の仮想マシンで実行し速度を比較している。実行結果はJITが有効になった仮想マシンの方が13倍以上高速というものだ。繰り返し処理でJITが効きやすい状況が作られているわけだが、注目に値する処理速度といえる。

ベンチマークに使われたフィボナッチ関数 - 同ブログより抜粋

tracing jitが有効になった仮想マシンの方は13倍以上高速に動作 - 同ブログより抜粋

同氏はこうした結果を踏まえたうえで、Tamarin TracingのインタプリタがForthで開発されていること、abcバイトコードがForthで採用されている低レベル命令で記述されていること、tracing jitはこの低レベル命令に対してコンパイルを実施していること、ForthからC++へのコンパイラはPythonで実装されていることなどを指摘している。同技術はJavaScriptに限らずほかのスクリプト言語にも応用できそうだ。特にバイトコードにForthを採用したことは注目に値する。ほかのスクリプト言語への応用も踏まえてかなり興味深いプロダクトだ。



転職ノウハウ

あなたが本領発揮できる仕事を診断
あなたの仕事適性診断

シゴト性格・弱点が20の質問でサクッと分かる!

「仕事辞めたい……」その理由は?
「仕事辞めたい……」その理由は?

71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?

3年後の年収どうなる? 年収予報
3年後の年収どうなる? 年収予報

今の年収は適正? 3年後は? あなたの年収をデータに基づき予報します。

激務な職場を辞めたいが、美女が邪魔して辞められない
激務な職場を辞めたいが、美女が邪魔して辞められない

美人上司と可愛い過ぎる後輩に挟まれるエンジニアの悩み

人気記事

一覧

イチオシ記事

新着記事

Apple Musicを楽しむなら、「Apple Musicギフトカード」の利用が断然おトク
[09:00 9/28] パソコン
C言語1000行以下のエディタ「Kilo」を理解する 第7回 シンタックスハイライトを知る
[09:00 9/28] 企業IT
なぜアイリスオーヤマは"こんな家電が欲しかった!"を形にできるか
[09:00 9/28] 経営・ビジネス
スマホ通信費を浪費しがちなNG行動5選
[09:00 9/28] マネー
【連載特別企画】ゼロから始める多要素認証 第2回 スマートに使えるセキュアなビジネス環境を構築するには - ユーザー編
[09:00 9/28] 企業IT

求人情報