未踏プロジェクトダッシュボード

IPA未踏事業 プロジェクト一覧

修正・お問い合わせはこちら
一覧に戻る
2010年度未踏IT

JavaScriptのGCCフロントエンドの開発

プロジェクト概要

JavaScriptはWebブラウザ上に実装されているスクリプティング言語で、ほとんどすべてのWebブラウザに実装されている。JavaScriptの実行性能の向上により、デスクトップアプリケーションと遜色ない、大規模Webアプリケーションを実現することが可能となったため、JavaScriptはWebアプリケーションを構築する際には必要不可欠な存在となって来ている。

クライアントサイドのWebアプリケーションはそれぞれ基盤となるライブラリ、フレームワークの上に構築され、その上にそれぞれのWebアプリケーションのためのコードが記述される。ここで、各アプリケーションはブラウザ上で実行される際に、ライブラリ、フレームワークはアプリケーションごとに複製されて実行されるため、メモリ効率があまりよくないと言える。

本提案では、JavaScriptのGCCフロントエンド gccjsの開発を行う。

gccjsを用いてプログラムの実行前にJavaScriptコードを機械語へコンパイルすることで、アプリケーション間でコードを共有し、プログラムサイズを小さくでき、レスポンス性能が高く、ロード時間の短いWebアプリケーションの構築につながるのではないかと考えている。

採択理由

今日、Webブラウザ上で動作するプログラムは、おしなべてJavaScript言語で書かれるようになった。

世界中が、実行時(JIT)コンパイルという方式で、JavaScriptプログラムの高速化にしのぎを削っている。

提案は、実行前にコンパイルを済ませてしまう(AOT)コンパイラを開発しようというものである。

AOTコンパイラにはJITコンパイラとは違ったメリット(例えばコードのプロセス間共有)があり、また、実際に開発することで、その性能、使い勝手等も明らかになろう。

JavaScriptのような言語でコンパイルして性能を高めることは易しくないが、井出君はそれを理解し、対策を検討している。

達成は決して容易ではないが、言語処理系の開発経験もあり、自らの動機に基づく提案なので、期待している。

PM

首藤 一幸

東京工業大学 大学院情報理工学研究科 数理・計算科学専攻 准教授

クリエータ

井出 真広

横浜国立大学大学院

採択金額

1,792,000

関連リンク