コンテンツへスキップ
ものがたり
戻る

2007-10-02

linear IR

http://www.thinkit.co.jp/cert/article/0709/26/2.htm

Ruby処理系はまずRubyプログラムを構文解析という操作により抽象構文木(AST)へ変換します。Ruby 1.8以前では、このASTを直接たどりながら実行していました。仮想マシンでは、さらにASTを独自の命令セットにコンパイルして実行します。

「木構造の構文木をたどる」よりも、「線形の命令列をたどる」ほうが高速なので、速くなるわけです。また、線形の命令列だと命令を入れ替えるなどの高速化ができるので、もっと速くなる可能性が広がります。

へぇ、YARVはうちで言うところのlinear ILみたいなものを既に実装できているんだ。さすが。てか、linear ILってどうなってんだろ。

MonoDevelop beta1 released

http://www.monodevelop.com/Release_notes_for_MonoDevelop_1.0_Beta_1

そろそろMonoDevelopも1.0に向けて始動です。SharpDevelop移植版でToddが冗談のように2ヶ月でやっつけたのがきっかけで動き出したプロジェクトが、いつの間にかSharpDevelopのメイン開発者までチームメンバーにしてここまで来ているんだなあ…


この記事を共有:

前の記事
MonoDevelop beta1 released
次の記事
linear IR