YARV - это чистый Ruby-компилятор. Если вы отключите его, ничего не останется.
Точнее: YARV - это многофазная реализация, где каждый из этапов является одномодовым. Он состоит из компилятора Ruby-to-YARV и интерпретатора YARV. Если вы удалите компилятор, вам останется только интерпретатор байт-кода YARV. Если вы не хотите начинать писать свое приложение в байт-коде YARV, этот интерпретатор не будет вам особенно полезен.
Это в отличие от реализаций смешанного режима, таких как JRuby и IronRuby, которые реализуют несколько режимов выполнения (в частности, как компилятор, так и интерпретатор) в фазе single . Если вы выключите компилятор в JRuby или IronRuby, у вас все еще останется работающий механизм исполнения, потому что они оба также содержат интерпретатор. Фактически, JRuby начинал как чистый интерпретатор и позже добавил компилятор, а IronRuby начал как чистый компилятор , и они добавили интерпретатор точно из-за той же проблемы, которую вы видите : составление модульных тестов - просто трата времени.
Единственная интерпретируемая реализация Ruby 1.9 на данный момент - это JRuby. Конечно, у вас есть все издержки JVM для решения. Лучшее, что вы можете сделать, это попробовать, насколько быстро вы можете запустить JRuby (используйте ночные сборки 1.6.0.dev с http://CI.JRuby.Org/snapshots/, так как поддержка 1.9 и время запуска интенсивно работают прямо сейчас) используйте либо очень быстро запускающуюся настольную JVM, такую как IBM J9, либо попробуйте поддержку JRgy Nailgun, которая поддерживает JVM в фоновом режиме.
Вы также можете попытаться избавиться от RubyGems, который, как правило, отнимает много времени при запуске, особенно на YARV. (Используйте опцию командной строки --disable-gem
, чтобы действительно избавиться от нее.)