¿Alguien ha realizado alguna evaluación comparativa de Chameleon versus Jinja2 con respecto al rendimiento? Estoy más acostumbrado a la sintaxis de Jinja, ya que vengo de Django, pero como Pyramid sugiere usar Chameleon, estoy pensando si sería bueno intentarlo, a pesar de tener una sintaxis incómoda, IMO.Comparaciones de velocidad entre Chameleon y Jinja2
Respuesta
Creo que están muy cerca, y cada uno probablemente gane dependiendo del punto de referencia. Creo que es mejor elegir un motor de plantillas basado en cuánto te gusta la sintaxis (prefiero pyTenjin) y lo fácil que es integrarlo en tu propio proyecto/framework.
Jinja2 es similar a Mako en la velocidad (~ 20 veces más rápido que Django): source
camaleón también se trata de 20x más rápido que Django: source
Y pyTenjin también está allá arriba: source
Tenga en cuenta que jinja2 también tiene un conjunto "oficial" de enlaces de pirámide a través de pyramid_jinja2
El hecho de que Chamelon es más "núcleo" que Jinja2 es principalmente un artefacto de la historia de la pirámide de repoze.bfg
Los motores de plantillas rara vez son la causa de problemas de rendimiento, incluso si camaleón es ligeramente más rápido que Jinja2. Dudo que el esfuerzo de aprender un nuevo lenguaje de plantillas, etc. lo valga.
La optimización de las consultas de la base de datos y el almacenamiento en caché probablemente darán como resultado un mayor rendimiento del que podría obtener al cambiar el motor de la plantilla y realizar un pequeño esfuerzo.
+1. La base de datos es mucho más probable que sea un cuello de botella que el motor de plantillas – Cameron
- 1. Comparaciones de velocidad - Procedural vs. OO en idiomas interpretados
- 2. ¿Las comparaciones entre InnoDB y MyISAM aún son válidas en términos de velocidad de lectura frente a escritura?
- 3. Comparaciones de complejidad entre estructuras de datos
- 4. C comparaciones # Cuerda: Diferencia entre CurrentCultureIgnoreCase y InvariantCultureIgnoreCase
- 5. ¿Las comparaciones entre iterator y const_iterator son ineficaces?
- 6. Jinja2 y JSON
- 7. Comparaciones del mundo real de Glassfish y JBoss 5?
- 8. Scrum: productos inacabados y velocidad de velocidad
- 9. ¿Hay una diferencia de velocidad entre WSGI y FCGI?
- 10. ¿Cuáles son las comparaciones de velocidad de NDB vs DB (en Datastore de alta replicación)?
- 11. Pasar parámetros entre las plantillas de velocidad
- 12. ¿Cómo se usa la herencia de plantilla con Chameleon?
- 13. plantilla de velocidad y javascript
- 14. comparaciones de fechas de Python
- 15. comportamiento advertencia extraño con gcc y firmados/comparaciones sin firmar
- 16. comparaciones de cadenas de bash
- 17. Comparaciones de las bibliotecas Ajax
- 18. Python estilo de comparaciones múltiples?
- 19. ¿Lua tiene O comparaciones?
- 20. Oracle NUMBER Comparaciones
- 21. ¿Cuál es la diferencia de velocidad entre dibujar con html5 canvas y html y javascript?
- 22. webapp2 + jinja2: ¿Cómo puedo obtener uri_for() trabajando en jinja2-views
- 23. Django: ¿Cambia a Jinja2?
- 24. jinja2 + reStructured Markup
- 25. las variables Jinja2 anidado
- 26. ¿Mako o Jinja2?
- 27. ¿Cómo usar la reflexión para simplificar constructores y comparaciones?
- 28. Jinja2 If Statement
- 29. jinja2: variables de escape html
- 30. Redondeo en soportes de jinja2
Gracias por resolver el problema. Estoy construyendo una transformación HTML-a-Python-plantilla. TAL (Chameleon) debería ayudar a no cambiar la estructura de la plantilla original (aka, no intrusiva). Con TAL, no introducimos elementos que no sean xml. –