changeset 678:905070c31ea8 experimental-optimizer

Add `StaticStrategy` to basic benchmark. Results in about a 32% speedup.
author athomas
date Wed, 23 Jan 2008 14:09:17 +0000
parents ea1e899f02bf
children 1efe990d675e
files examples/bench/basic.py
diffstat 1 files changed, 16 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/examples/bench/basic.py
+++ b/examples/bench/basic.py
@@ -9,8 +9,8 @@
 import sys
 import timeit
 
-__all__ = ['clearsilver', 'mako', 'django', 'kid', 'genshi', 'genshi_text',
-           'simpletal']
+__all__ = ['clearsilver', 'mako', 'django', 'kid', 'genshi', 'genshi_opt',
+           'genshi_text', 'simpletal']
 
 def genshi(dirname, verbose=False):
     from genshi.template import TemplateLoader
@@ -25,6 +25,20 @@
         print render()
     return render
 
+def genshi_opt(dirname, verbose=False):
+    from genshi.template import TemplateLoader
+    from genshi.template.optimize import Optimizer, StaticStrategy
+    loader = TemplateLoader(['genshi'], auto_reload=False)
+    template = Optimizer(loader.load('template.html'), [StaticStrategy()])
+    def render():
+        data = dict(title='Just a test', user='joe',
+                    items=['Number %d' % num for num in range(1, 15)])
+        return template.generate(**data).render('xhtml')
+
+    if verbose:
+        print render()
+    return render
+
 def genshi_text(dirname, verbose=False):
     from genshi.core import escape
     from genshi.template import TemplateLoader, NewTextTemplate
Copyright (C) 2012-2017 Edgewall Software