Компилировать Ruby по крайней мере очень сложно. Я работаю над одним, и как часть этого я написал сообщение в блоге , перечисляющее некоторые проблемы здесь .
В частности, Ruby страдает от очень нечеткой (то есть несуществующей) границы между фазами «чтение» и «выполнение», что затрудняет эффективную компиляцию. Вы можете просто подражать тому, что делает переводчик, но тогда вы не увидите большого ускорения, так что это не будет стоить усилий. Если вы хотите скомпилировать его эффективно, вы столкнетесь с множеством дополнительных сложностей, чтобы справиться с экстремальным уровнем динамичности в Ruby.
Хорошая новость заключается в том, что - это техники для преодоления этого. Self, Smalltalk и Lisp / Scheme успешно справились с большинством одних и тех же проблем. Но требуется время, чтобы просеять его и выяснить, как заставить его работать с Ruby. Также не помогает, что у Руби очень запутанная грамматика.