Mercurial > genshi > mirror
changeset 679:1efe990d675e experimental-optimizer
Same for bigtable. Around 36% faster.
author | athomas |
---|---|
date | Wed, 23 Jan 2008 14:13:51 +0000 |
parents | 905070c31ea8 |
children | 581abd96c9e4 |
files | examples/bench/bigtable.py |
diffstat | 1 files changed, 18 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/examples/bench/bigtable.py +++ b/examples/bench/bigtable.py @@ -11,6 +11,7 @@ from StringIO import StringIO from genshi.builder import tag from genshi.template import MarkupTemplate, NewTextTemplate +from genshi.template.optimize import Optimizer, StaticStrategy try: from elementtree import ElementTree as et @@ -56,6 +57,14 @@ </table> """) +genshi_opt_tmpl = Optimizer(MarkupTemplate(""" +<table xmlns:py="http://genshi.edgewall.org/"> +<tr py:for="row in table"> +<td py:for="c in row.values()" py:content="c"/> +</tr> +</table> +"""), [StaticStrategy()]) + genshi_tmpl2 = MarkupTemplate(""" <table xmlns:py="http://genshi.edgewall.org/">$table</table> """) @@ -103,6 +112,11 @@ stream = genshi_tmpl.generate(table=table) stream.render('html', strip_whitespace=False) +def test_genshi_opt(): + """Genshi optimizer""" + stream = genshi_opt_tmpl.generate(table=table) + stream.render('html', strip_whitespace=False) + def test_genshi_text(): """Genshi text template""" stream = genshi_text_tmpl.generate(table=table) @@ -196,9 +210,10 @@ def run(which=None, number=10): - tests = ['test_builder', 'test_genshi', 'test_genshi_text', - 'test_genshi_builder', 'test_mako', 'test_kid', 'test_kid_et', - 'test_et', 'test_cet', 'test_clearsilver', 'test_django'] + tests = ['test_builder', 'test_genshi', 'test_genshi_opt', + 'test_genshi_text', 'test_genshi_builder', 'test_mako', + 'test_kid', 'test_kid_et', 'test_et', 'test_cet', + 'test_clearsilver', 'test_django'] if which: tests = filter(lambda n: n[5:] in which, tests)