В Есть ли преимущество в запуске JRuby, если вы не знаете Java? , люди предлагали использовать JRuby, если вы просто хотите лучшую реализацию Ruby, чем "Ruby" (MRI / YARV).
Какие потенциальные причины, по которым вы бы не использовали JRuby?
Одни, которые были упомянуты другими:
- Производительность для коротких программ.JRuby описывается как более быстрый для более длинных программ, но с более длительным временем инициализации.Обходные пути обсуждаются в этом вопросе .
- Расширения C: JRuby поддерживает некоторые, , но не все , расширения C, которые используются с MRI / YARV.
- Параллельность как обоюдоострый меч. Существует не-поточно-безопасный код , который люди не обнаружили, потому что самая популярная реализация не имеет истинного параллелизма.
- JRuby может использовать больше памяти .
- JRuby решил не делать определенных вещей, которые делает CRuby.Это включает в себя продолжения (которые, я думаю, в CRuby устарели в любом случае) и fork.Они также имеют другой собственный порядковый номер и точность по времени.
- JRuby не включает ObjectSpace по умолчанию.
Возможные причины, которые я имею в виду:
- Библиотеки, которые вы используете, могут быть не предназначены для работы под JRuby.Например, у BioRuby, который имеет 127 наблюдателей и 60 вилок на GitHub, была незначительная несовместимость с JRuby.
- Страх, Неопределенность и Сомнение об использовании менее популярной реализации.Я знаю, что JRuby передает RubySpec лучше, чем CRuby, но RubySpec еще не завершен.
Есть ли другие причины, по которым вы бы не использовали JRuby?