На самом деле ответ выше не верен, за исключением ответа Микеля. Если вы наблюдали какой-либо тест для JVM, вы обнаружите, что он медленный, поэтому представьте производительность JRuby по сравнению с CRuby.
Лично я являюсь участником MRI Ruby, и я думаю, что приведенная выше таблица эталонных тестов вообще не соответствует действительности с момента появления виртуальной машины YARV для MRI Ruby, эта версия стала самой быстрой, и множество тестов подтвердили это. Сравнительный тест и комментарии Шонесси о трех известных интерпретаторах Ruby: MRI Ruby, JRuby и Rubinius ". Так что на мой взгляд нет смысла сравнивать из-за следующих логических моментов: -
1 - C намного быстрее, чем Java, потому что он работает непосредственно на аппаратном обеспечении и производит машинный код. В то время как JVM выдает Байт-код, который считается промежуточным кодом.
2- JRuby содержит дополнительный шаг интерпретации, в отличие от MRI Ruby «Tokenization, Parsing, AST Parsing и генерация инструкций YARV« Генерация кода »и, наконец, выполнение кода», в то время как JRuby содержит дополнительный этап.
3 - Сборка мусора в MRI Ruby намного быстрее, чем сборка мусора в JRuby, даже лучше, когда они внесли некоторые изменения в технику сбора меток и уборки мусора.
4 - Если вы просматривали большинство компаний и используемых технологий, они всегда использовали MRI Ruby, особенно ruby 1.9, я редко видел компанию, использующую JRuby, или даже видел множество расширений или дополнений к ней в отличие от MRI Ruby.
Наконец, Ruby 1.8, да, это медленнее, потому что они выполняли код на самом AST, поэтому они много раз анализировали AST, чтобы выполнить код.
Если я в чем-то ошибаюсь, надеюсь, кто-нибудь меня поправит.
Установите MRI Ruby Dude, используя RVM или из источника. Вы найдете множество драгоценных камней и расширений для работы с