YARV は純粋な Ruby コンパイラです。無効にすると、何も残りません。
より正確には、YARV はマルチフェーズの実装であり、各フェーズはシングルモードです。これは、Ruby-to-YARV コンパイラーと YARV インタープリターで構成されています。コンパイラを削除すると、YARV バイトコード インタープリタだけが残ります。YARV バイトコードでアプリを書き始めたくない限り、そのインタープリターはあまり役に立ちません。
これは、JRuby や IronRuby などの複数の実行モード (特に、コンパイラとインタープリターの両方) を 1つのフェーズ内に実装する混合モードの実装とは対照的です。JRuby または IronRuby でコンパイラをオフにしても、どちらにもインタープリターが含まれているため、使用可能な実行エンジンが残ります。実際、JRuby は純粋なインタープリターとして開始し、後でコンパイラーを追加しました。IronRuby は純粋なコンパイラーとして開始し、インタープリターを追加したのは、あなたが見ているのとまったく同じ問題のためです。ユニットテストのコンパイルは単に時間の無駄です。
現在のところ、Ruby 1.9 の唯一の解釈された実装は JRuby です。もちろん、JVM のオーバーヘッド全体を処理する必要があります。最善の方法は、JRuby を起動する速度を試すことです ( 1.9 のサポートと起動時間の両方が非常に重要なため、http: //CI.JRuby.Org/snapshots/からナイトリー 1.6.0.dev ビルドを使用します)。 IBM J9 のような非常に高速に起動するデスクトップ指向の JVM を使用するか、JVM をバックグラウンドで実行し続ける JRuby の Nailgun サポートを試してください。
RubyGems を取り除こうとすることもできます。RubyGems は一般的に、特に YARV でかなりの起動時間を消費します。(--disable-gem
コマンドラインオプションを使用して、本当にそれを取り除きます。)