comparison examples/bench/basic.py @ 678:5705d416ed8e 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 72e1a2ed04a0
children
comparison
equal deleted inserted replaced
677:b6532ff5c172 678:5705d416ed8e
7 import os 7 import os
8 from StringIO import StringIO 8 from StringIO import StringIO
9 import sys 9 import sys
10 import timeit 10 import timeit
11 11
12 __all__ = ['clearsilver', 'mako', 'django', 'kid', 'genshi', 'genshi_text', 12 __all__ = ['clearsilver', 'mako', 'django', 'kid', 'genshi', 'genshi_opt',
13 'simpletal'] 13 'genshi_text', 'simpletal']
14 14
15 def genshi(dirname, verbose=False): 15 def genshi(dirname, verbose=False):
16 from genshi.template import TemplateLoader 16 from genshi.template import TemplateLoader
17 loader = TemplateLoader([dirname], auto_reload=False) 17 loader = TemplateLoader([dirname], auto_reload=False)
18 template = loader.load('template.html') 18 template = loader.load('template.html')
19 def render():
20 data = dict(title='Just a test', user='joe',
21 items=['Number %d' % num for num in range(1, 15)])
22 return template.generate(**data).render('xhtml')
23
24 if verbose:
25 print render()
26 return render
27
28 def genshi_opt(dirname, verbose=False):
29 from genshi.template import TemplateLoader
30 from genshi.template.optimize import Optimizer, StaticStrategy
31 loader = TemplateLoader(['genshi'], auto_reload=False)
32 template = Optimizer(loader.load('template.html'), [StaticStrategy()])
19 def render(): 33 def render():
20 data = dict(title='Just a test', user='joe', 34 data = dict(title='Just a test', user='joe',
21 items=['Number %d' % num for num in range(1, 15)]) 35 items=['Number %d' % num for num in range(1, 15)])
22 return template.generate(**data).render('xhtml') 36 return template.generate(**data).render('xhtml')
23 37
Copyright (C) 2012-2017 Edgewall Software