2011-03-16 15 views
11

Qualcuno ha fatto qualche benchmarking di Chameleon contro Jinja2, rispetto alle prestazioni? Sono più abituato alla sintassi Jinja, visto che vengo da Django, ma come Pyramid suggerisce di usare Chameleon, sto pensando se sarebbe bello provarlo - nonostante abbia una sintassi scomoda, IMO.Confronto di velocità tra Chameleon e Jinja2

+0

Grazie per aver sollevato il problema. Sto costruendo una trasformazione del modello HTML-to-Python. TAL (Chameleon) dovrebbe aiutare a non cambiare la struttura del modello originale (alias, non intrusivo). Con TAL, non introduciamo elementi non-xml. –

risposta

5

Penso che siano abbastanza vicini, e ognuno probabilmente vincerebbe a seconda del benchmark. Penso che sia meglio scegliere un motore di template basato su quanto ti piace la sintassi (preferisco lo pyTenjin) e quanto sia facile integrarlo nel tuo progetto/framework.

Jinja2 è simile a Mako in termini di velocità (~ 20 volte più veloce di Django): source

Chameleon è anche circa 20 volte più veloce di Django: source

E pyTenjin è anche lassù: source

4

Tieni presente che jinja2 ha anche un set "ufficiale" di associazioni piramidali tramite pyramid_jinja2

Il fatto che Chamelon sia più "core" di Jinja2 è per lo più un artefatto della storia piramidale di repoze.bfg

18

I motori di template raramente sono la causa di problemi di prestazioni, anche se il camaleonte è leggermente più veloce di Jinja2 Dubito che lo sforzo di imparare un nuovo template ecc. valga la pena.

L'ottimizzazione delle query e della memorizzazione nella cache del database probabilmente porterà a un numero maggiore di prestazioni rispetto a quello che si potrebbe ottenere passando il motore del modello e con uno sforzo minimo.

+6

+1. È molto più probabile che il database sia un collo di bottiglia rispetto al motore dei template – Cameron