三浦と申します。

ytl 0.0.5をリリースしました。
ytlは超サブセットのRuby(正確にはRubyVM(YARV)の命令列)をX86(32bit, 64bit)
に変換して実行するプログラムです。変換の際に型推論を行ってその情報による
最適化(動的ディスパッチや型チェックの削除やデータのUNBOX化など)を
行います。生成した機械語コードを格納する領域の管理などどうしてもRubyでは
書けないところ以外は型推論・アセンブル等も含めてRubyで書いています。
Ruby 1.9.2 p136以降でX86系のCPUなら動くと思います。32bit/64bitは
RUBY_PLATFORMの情報を使って自動的に判別します。
このリリースにあたってruby 2.0.0dev [i386-cygwin] 及び、ruby 2.0.0dev 
[x86_64-linux]
で動作確認しています。
SSE2を使っているのでPentium 4以前のものは動かないと思います。

gemでのインストールが可能なので

    gem install ytl

でインストールできるとおもいます。

  ytl [オプション] プログラム.rb

で運が良ければ、Rubyより早く結果が得られます。
 
インストールや使い方については次をご覧ください。

https://github.com/miura1729/ytl/wiki/How-To-Use-%28In-Japanese%29

0.0.5では0.0.4に比べて次の2点が変わっています。

1. unboxedなオブジェクト及びオブジェクトのスタック割り付けのサポート

 0.0.4でも実験的に入っていましたが、バグを修正し使用可能な場合が増えました。 

unboxなオブジェクトとはRubyのオブジェクト(Fixnum. Float, Array, ユーザ定義オブジェクトなど)
から型情報(ヘッダやFixnumの下位1bit)を取り除いたものです。
例えばArrayはC言語の配列ような構造になります。
オブジェクトの確保・解放が高速化されることが期待できます。

一方、オブジェクトをヒープではなくスタックで割り当てれる時は、スタック(マシンスタック
ではなく、ヒープ上に領域を取ってFILOで管理する)にオブジェクトを割り当てるように
しています。アロケーションの高速化、GCの頻度の軽減が期待できます。

これら機能により、shootout のbinary treeではナイーブにmallocを使ったC版を上回る
速度が出ています。ただし、オブジェクトのアロケーションが伴わない場合は型推論
が重くなる分遅くなります。また、unboxと通常のオブジェクトの相互変換をまだ作って 

いないので使えない場合があります。


2 スレッドのサポート

 ytl独自の機能として、スレッドをRubyのThreadクラスとは別にサポートしました。 

GILの関係ないところでスレッドを作りますので並列に動きます。
排他制御のメカニズムとして、Concurrent revisionsライクな物を用意しました。
スレッドを作成するとselfがコピーされて並列に実行されます。
joinのタイミングで親スレッドと子スレッドのselfがマージされます。
マージする方法はカスタマイズすることができます。
フィボナッチ数を求めるマルチスレッドのプログラムの例です。
https://github.com/miura1729/ytl/blob/master/test/threadfib.rb

ほとんど使ってないのでものすごくバギーです。次のバージョンまでには、ましになるでしょう。


そのほか、0.0.5でサポートされているRubyの仕様の詳細については
次のドキュメントを参照してください。

リリースノート
https://github.com/miura1729/ytl/wiki/Relese-Node-in-Japanese 
サポートしている言語仕様
https://github.com/miura1729/ytl/wiki/language-spec-in-japanese 


ソースコードは
https://github.com/miura1729/ytljit
https://github.com/miura1729/ytl

をご覧ください。