Какие у меня были бы причины не использовать JRuby вместо MRI / YARV? - PullRequest
7 голосов
/ 14 октября 2010

В Есть ли преимущество в запуске JRuby, если вы не знаете Java? , люди предлагали использовать JRuby, если вы просто хотите лучшую реализацию Ruby, чем "Ruby" (MRI / YARV).

Какие потенциальные причины, по которым вы бы не использовали JRuby?

Одни, которые были упомянуты другими:

  1. Производительность для коротких программ.JRuby описывается как более быстрый для более длинных программ, но с более длительным временем инициализации.Обходные пути обсуждаются в этом вопросе .
  2. Расширения C: JRuby поддерживает некоторые, , но не все , расширения C, которые используются с MRI / YARV.
  3. Параллельность как обоюдоострый меч. Существует не-поточно-безопасный код , который люди не обнаружили, потому что самая популярная реализация не имеет истинного параллелизма.
  4. JRuby может использовать больше памяти .
  5. JRuby решил не делать определенных вещей, которые делает CRuby.Это включает в себя продолжения (которые, я думаю, в CRuby устарели в любом случае) и fork.Они также имеют другой собственный порядковый номер и точность по времени.
  6. JRuby не включает ObjectSpace по умолчанию.

Возможные причины, которые я имею в виду:

  1. Библиотеки, которые вы используете, могут быть не предназначены для работы под JRuby.Например, у BioRuby, который имеет 127 наблюдателей и 60 вилок на GitHub, была незначительная несовместимость с JRuby.
  2. Страх, Неопределенность и Сомнение об использовании менее популярной реализации.Я знаю, что JRuby передает RubySpec лучше, чем CRuby, но RubySpec еще не завершен.

Есть ли другие причины, по которым вы бы не использовали JRuby?

Ответы [ 2 ]

1 голос
/ 14 октября 2010

Лично, хотя он уже предустановлен на Mac, я не всегда устанавливаю Java на мои машины с Linux.

Кроме того, RVM , вероятно, следует упомянуть здесь как каноническийспособ манипулирования несколькими (или более ?!) разными интерпретаторами Ruby.

0 голосов
/ 15 октября 2010

JRuby, похоже, не дает $ SAFE высокий приоритет. Сообщение в блоге написано в 2007 году, но с тех пор я не встречал никаких изменений.

...