Какие у меня есть причины не использовать JRuby вместо MRI / YARV?

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

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

Другие упоминали следующие:

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

У меня есть следующие потенциальные причины:

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

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

7
задан Community 23 May 2017 в 10:29
поделиться