2010-03-17 11 views
5

En cada punto de referencia que encontré en la web, parece que Ruby es lento, mucho más lento que Java. La gente de Ruby simplemente dice que no importa. ¿Podría darme algún ejemplo de que la velocidad de Ruby on Rails (y el Ruby mismo) realmente no importa?La velocidad de Ruby y Java

+0

¿Puede darnos ejemplos de ruby ​​folk diciendo que la velocidad no importa? –

Respuesta

15

En realidad, solo debería preocuparse si Ruby on Rails será o no lo suficientemente rápido para su caso de uso. Para eso, es lo suficientemente rápido para all of these folks.

+0

De acuerdo. "Rápido" es un término blando. "Lo suficientemente rápido" es absoluto. Tu aplicación es, o tu aplicación no. Ruby es muy a menudo (pero no siempre) "lo suficientemente rápido". Java tampoco es la velocidad final de todo. Bien escrito Ruby puede correr círculos alrededor de Java mal escrito. – mmc

+0

Y por lo que vale, cualquier lenguaje popular y marco será lo suficientemente rápido para la mayoría de los casos de uso. Después de todo, se hicieron populares porque la gente real los usa en producción. En ausencia de otras limitaciones, le recomiendo que seleccione las herramientas que lo harán, personalmente, un desarrollador más productivo. – Callahad

+0

Simplemente considere a partir de esa Lista que Twitter está moviendo la mayor parte de su back-end de Ruby a Scala (por lo tanto, Java Virtual Machine) – OscarRyz

5

Si tiene un CMS que genera un sitio plano todas las noches a medianoche ... entonces su aplicación se ejecuta durante 1 segundo por noche en Java, o 2 segundos por noche en Ruby. Simplemente no importaría.

4

Para muchas aplicaciones web, a menudo ocurre que el cuello de botella en el ciclo de solicitud/respuesta no es la velocidad de procesamiento del marco web, sino los tiempos de acceso a la base de datos. Dado que, muchas personas consideran que los gastos generales agregados mediante el uso de un lenguaje relativamente lento son una compensación razonable para la velocidad y la facilidad de desarrollo.

3

Una aplicación web típica pasa muy poco tiempo haciendo las cosas que escribirías en Ruby o Java y mucho tiempo extrayendo cosas de una base de datos. Si se requieren 200 ms para entregar una página determinada usando Java y 210ms usando RoR, la ventaja que se obtiene al elegir Java para su velocidad es insignificante para la gran mayoría de las aplicaciones.

Si realmente está preocupado por la velocidad en una aplicación web típica, dedique sus esfuerzos de optimización en el mecanismo de almacenamiento y recuperación de datos, no en la interfaz. Usa índices. Desnormalizar los datos si es necesario. Considere una base de datos documental o un almacén de clave-valor.

Cuestiones relacionadas