2012-02-12 17 views
13

Estoy trabajando en un proyecto y todavía estoy pensando en usar HAML (código bonito, menos tamaño de archivos de vista) en lugar de la plantilla clásica de ERB.Rails 3.2 - haml vs. erb. ¿Haml es más rápido? (febrero de 2012)

Mis preocupaciones sobre por qué no lo hice aún son la velocidad de generación de vistas - Leí artículos/puntos de referencia y casi siempre era HAML más lento que ERB - pero la verdad es que los artículos son de 2-3 años antiguo.

Así que mi pregunta es, ¿cómo se ve la comparación de estos dos sistemas de plantillas ahora, a principios de 2012?

Respuesta

16

Aquí hay algunos puntos de referencia de alguien en Nov 2011. Usted debería poder cd a su directorio de haml y ejecutar rake benchmark. Digo "debería" porque tendrá que instalar las dependencias adecuadas para ejecutar esa tarea. Jugué con eso por unos minutos pero no tuve suerte a nivel local. El archivo relevante es haml/test/benchmark.rb.

EDIT: Encontré algo más de información para usted. Alguien más tenía el mismo problema que yo al tratar de que los puntos de referencia funcionaran localmente, por lo que hicieron los suyos. Bifurqué esa esencia y agregué soporte para comparar haml a erb: https://gist.github.com/1807036. Usé las mismas plantillas que la biblioteca de haml utiliza para comparar. Estos son los resultados que me ejecutan el código:

$ ruby benchmark.rb 
     user  system  total  real 
haml: 0.650000 0.000000 0.650000 ( 0.651584) 
erb: 0.540000 0.000000 0.540000 ( 0.534727) 

que utilicé rubí 1.9.3-p0, haml 3.1.4.

+0

¿cuál es la conclusión? ¿Haml toma más memoria/CPU? –

+0

Haml es más agradable desde la perspectiva de un desarrollador (en la mayoría de los casos), y si la carga extra es menor y no afectará el rendimiento en un nivel notable, ¡digo que sígalo! –

2

Ya hay un montón de debates documentados en la web.

Pero cuando tenemos una aplicación donde utilizamos exclusivamente ERB. ¿Por qué deberíamos tratar de hacer el cambio a HAML? Para mí, es una pérdida de tiempo y una mala decisión que no proporcionaría muchos beneficios. Si bien nuestro código de repente sería más limpio y un poco más hermoso en HAML, perderíamos preciosas horas convirtiendo ERB en HAML. Tenemos muchas otras cosas importantes que hacer, ¿por qué perder ese tiempo en algo tan inútil en este caso?

Todo es relativo. No necesita usar HAML en lugar de ERB. ERB puede hacer todas las mismas cosas. Son solo herramientas diferentes para el mismo trabajo.

+2

conversiones de esta naturaleza se pueden automatizar ... ver http://html2haml.heroku.com/ y su gema. el punto aquí es una decisión de proyecto. Si descubres que leer toneladas de haml es mejor que html, hazlo. –