In Is there an advantage to running JRuby if you don't know any Java?, le persone suggerivano di usare JRuby se si desidera una migliore implementazione di Ruby rispetto a "Ruby" (MRI/YARV).Quali motivi avrei per non usare JRuby su MRI/YARV?
Quali sono i potenziali motivi per cui non si utilizza JRuby?
quelli che sono stati menzionati da altri sono:
- performance per i programmi brevi. JRuby è descritto come più veloce per programmi più lunghi, ma con un tempo di inizializzazione più lungo. I workaround sono discussi in this question.
- Estensioni C: JRuby supporta alcune, but not all, estensioni C utilizzate con MRI/YARV.
- Concorrenza come un'arma a doppio taglio. There's non-thread-safe code out there che le persone non hanno scoperto perché l'implementazione più popolare non ha una vera concorrenza.
- JRuby can use more memory.
- JRuby ha decided not to do alcune cose che fa CRUBY. Questo include continuazioni (che credo siano deprecate in CRuby comunque) e fork. Hanno anche un diverso endian nativo e precisione temporale.
- JRuby doesn't enable ObjectSpace per impostazione predefinita.
potenziali ragioni che ho includono:
- biblioteche che si utilizzano non possono essere progettati per l'esecuzione con JRuby. Ad esempio, BioRuby, che ha 127 osservatori e 60 forchette su GitHub, ha avuto un minor incompatibility con JRuby.
- Paura, incertezza e dubbio sull'utilizzo di un'implementazione meno popolare. So che JRuby supera RubySpec meglio di CRuby, ma RubySpec non è ancora completo.
Ci sono altri motivi per cui non useresti JRuby?