Quelqu'un a-t-il fait une analyse comparative de caméléon contre Jinja2, en ce qui concerne la performance? Je suis plus habitué à la syntaxe de Jinja, depuis que je viens de Django, mais comme pyramide suggère d'utiliser Caméléon, je pense que si ce serait bien de le faire essayer - malgré une syntaxe maladroite, imo. P >
3 Réponses :
Je pense qu'ils sont assez proches et chacun gagnerait probablement en fonction de la référence. Je pense qu'il est préférable de choisir un moteur de modèles basé sur combien vous aimez la syntaxe (je préfère pytenjin ) et à quel point Il est de l'intégrer à votre propre projet / cadre. P>
Jinja2 est similaire à Mako à la vitesse (~ 20x plus rapide que Django): source p>
Chameleon est également d'environ 20 fois plus rapide que Django: source p >
et Pytenjin est également là-haut: source p>
Gardez à l'esprit que Jinja2 a également un ensemble "officiel" de liaisons pyramides via pyramid_jinja2 << / p>
Le fait que Chamelon est plus "Core" que Jinja2 est surtout un artefact de l'histoire de la pyramide de repoze.bfg p>
Les moteurs de modèle sont rarement la cause des problèmes de performance, même si Chameleon est légèrement plus rapide que Jinja2, je doute que l'effort d'apprentissage d'une nouvelle langue de modèle, etc. en vaut la peine. p>
L'optimisation des requêtes de base de données et la mise en cache entraînera probablement plus de performances que vous ne pouviez gagner en commutant le moteur de modèle et en prenant peu d'effort. P>
+1. La base de données est beaucoup plus susceptible d'être un goulot d'étranglement que le moteur de modèles
Merci d'avoir soulevé la question. Je construis une transformation de modèle HTML-to-python. Tal (caméléon) devrait aider à ne pas changer la structure du modèle d'origine (AKA, non intrusif). Avec Tal, nous n'introduisons pas l'élément non XML.