from mako.template import Template as Mako
from genshi.template import MarkupTemplate as Genshi
from contemplate import ConTemplate
mako_temp = Mako("""
${name}
""")
con_temp = ConTemplate('name.html')
gen_temp = Genshi("""
$name
""")
def test_mako():
mako_temp.render(name="Guido")
def test_genshi():
tmpl.generate(name="Guido").render('xhtml')
def test_con():
con_temp.render(locs={'name':'Guido'})
if __name__ == "__main__":
from timeit import Timer
gen_timer = Timer("test_genshi", "from __main__ import test_genshi")
gen_timer.repeat(3, 10000000)
gen_results = gen_timer.timeit()
print gen_results
mako_timer = Timer("test_mako", "from __main__ import test_mako")
mako_timer.repeat(3, 10000000)
mako_results = mako_timer.timeit()
print mako_results
con_timer = Timer("test_con", "from __main__ import test_con")
con_timer.repeat(3, 10000000)
con_results = con_timer.timeit()
print con_results
print "Contemplate ran %s times as fast as mako" %(mako_results/con_results)
print "Contemplate ran %s times as fast as genshi" %(gen_results/con_results)