2014年8月8日金曜日

FTL llvm: javascriptをコンパイル?!

fourth tier llvm(FTL)なるものが開発中らしい。
chromeブラウザのV8 みたいにjavascriptを高速化する技術なんですが、これがappleのSafariに載るらしい。
safariもnitroとかいうjavascriptエンジンで既にかなり高速化しているんですが、FTLの何がスゴいってllvmでjavascriptをコンパイルしちゃうらしいんですよ!

ここまで聞いて詳しい方なら、「ああ、あれね、 llvmとjavascriptね。ecmascriptenとかasm.jsでやってるやつね。」といわれるかもしれませんが、

違う!違うんです!

ecmascriptenはC言語からjavascriptに変換。
FTLはjavascriptからネイティブコードに変換。

なんです!

XXX言語(のllvm中間言語)からネイティブコードに変換はllvm様のバックエンドの力を持ってすれば造作もないことなのはわかりますが、javascriptのような型の無い いい加減な、否、柔軟な動的言語をllvm中間言語の変換するとは!!フロントエンドで一体どんな革命が起きたのか!

答えはこちら!
FTL: WebKit's LLVM based JIT

...難しくてわからんがな。易しく教えて偉い人。

なんにしてもllvmプロジェクトにとっても動的言語への対応は挑戦的なことみたいですね。

カリカリに高速化されている現状からさらにこんな高速化って凄まじいなぁおい。

今秋リリースのiOS8にも載るとか載らないとか。早~く来い来いiPhone6~♪

0 件のコメント:

コメントを投稿