Pregunta
Después de haber sido desembarcados con un proyecto Ruby, he sido escéptico acerca de la decisión de utilizar Rubí debido al rendimiento.
Yo estaba emocionado de descubrir JRuby con su integración en Java. Esto ha hecho que el proyecto enormemente más fácil para mí. Y ahora acabo de ser totalmente cosquillas aún más al descubrir que puede ser JRuby compilado a código de bytes de Java .
Con cifras de referencia, así:
fib (30) Ruby: 1.67s
fib (30) JRuby interp (cliente VM): 3.93s
fib (30) JRuby interp (servidor VM): 2.28s a 2.08s
fib (30) JRuby compilado (cliente VM): 1.89s 1.79s a
fib (30) JRuby compilado (servidor VM): 1.66s a 0.86s
recibo actualmente muy emocionados con nuestra elección de JRuby aquí. ¿Hay alguna desventaja o razones por las que no se compilará para la versión de producción?
Solución
La distribución e instalaciones harían que la decisión más fácil para mí: como administrador de sistemas, Prefiero distribuir sólo un archivo JAR que puede funcionar en muchos de JRE que tienen que distribuir una instancia JRuby de trabajo (que es diferente para diferentes sistemas operativos, por ejemplo) y mi código fuente. Además, ya se ha demostrado que el código compilado AOT-es más rápido que el interpretado / JIT, por lo tanto más razón para distribuir la versión compilada.
Otros consejos
Ruby es muy rápido a desarrollarse en (si está familiarizado con su estilo).
No es tan rápido para correr, pero esto no suele ser un gran inconveniente. Su suficientemente rápido para la mayoría de las cargas de trabajo, incluso grandes sitios web.
La decisión debería ser no en base a la velocidad de ejecución - a menos que tenga las estadísticas que decir la gente se espera a estar descontento con el rendimiento -. Sino más bien la facilidad de implementación
Si el despliegue de aplicaciones Ruby ha sido alcanzado por sus predecesores, luego mantenerlo Ruby.
Si el despliegue de JVM es más fácil, ir con eso.