Groovy es lento porque hace magia
viernes 04/04/2008
Estos días se habla en JavaHispano sobre la velocidad ejecución de Groovy, y sobre la actitud de la comunidad al respecto. Al parecer, a un sector de los usuarios de Groovy no parece importarle demasiado que el lenguaje quede por detrás en las comparativas de rendimiento, posición con la que, después de más de un año trabajando con él, y con varios proyectos Grails en producción, simplemente estamos de acuerdo.Por un lado, cada versión del lenguaje presenta importantes mejoras de rendimiento. El equipo de desarrollo ha optado por optimizar el lenguaje una vez que se publicase la versión 1.0, y no realizar ni un solo hack en el código hasta entonces. El resultado es que la versión 1.5 es mucho más rápida que la 1.0, y la 1.6 mucho más rápida que la 1.5 (¿quién ha dicho que a los desarrolladores de Groovy no les importa el rendimiento?)
Pero, además, las razones por las que Groovy es más lento que Java en los tests de velocidad son obvias y nadie debería sorprenderse: Groovy hace mucha magia para nosotros y la magia en programación es muy cara en recursos de máquina. Pero lo que obtenemos a cambio merece la pena, nos ahorra mucho tiempo y líneas de código, y una vez en producción va como la seda. En la web, los tiempos de respuesta de Grails son equivalentes a los de cualquier otro framework web Java.
Por otra parte, parece mentira que gente que lleve años trabajando con Java participe en este tipo de polémicas, con todo lo que hemos tenido que aguantar y todavía aguantamos sobre si Java es más lento que C++ y ocupa más memoria... Está claro que el rendimiento es importante, pero es un parámetro más a tener en cuenta entre muchos, y Groovy además tiene a su favor una capacidad de integración con Java que hace que podamos implementar en Java los módulos que necesiten un rendimiento superior.
Groovy es lento porque hace magia
Ibon Urrutia - viernes 04/04/2008
Hombre... tampoco me parece malo participar en polémicas, ni hay que obviarlas por antiguos flames. Además en este caso, todos reconocemos que es verdad: Groovy va más lento que otros lenguajes de script sobre la VM.
Otra cosa es que eso sea inherente al lenguaje (lo cual me parece imposible en el caso de cualquier lenguaje) como algunos parecen querer mostrar (no en el caso del hilo de jH). Que se mejorará el rendimiento es algo de cajón, pero no está de más recordar las ventajas de groovy en estos tiempos. ¿O acaso no recordábamos las ventajas de la VM en las eternas polémicas sobre la velocidad de Java, cuando en el caso del escritorio el tema de la velocidad si era un problema?
Salu2