Mercurial > genshi > genshi-test
comparison examples/bench/basic.py @ 540:661715b49c0c
Replace Myghty by Mako in basic benchmark.
author | cmlenz |
---|---|
date | Thu, 28 Jun 2007 17:32:19 +0000 |
parents | 4811658d7ac0 |
children | ecb5729c06b1 |
comparison
equal
deleted
inserted
replaced
538:19c7dc1e4dd5 | 540:661715b49c0c |
---|---|
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', 'myghty', 'django', 'kid', 'genshi', 'cheetah'] | 12 __all__ = ['clearsilver', 'mako', 'django', 'kid', 'genshi', 'cheetah'] |
13 | 13 |
14 def genshi(dirname, verbose=False): | 14 def genshi(dirname, verbose=False): |
15 from genshi.template import TemplateLoader | 15 from genshi.template import TemplateLoader |
16 loader = TemplateLoader([dirname], auto_reload=False) | 16 loader = TemplateLoader([dirname], auto_reload=False) |
17 template = loader.load('template.html') | 17 template = loader.load('template.html') |
22 | 22 |
23 if verbose: | 23 if verbose: |
24 print render() | 24 print render() |
25 return render | 25 return render |
26 | 26 |
27 def myghty(dirname, verbose=False): | 27 def mako(dirname, verbose=False): |
28 try: | 28 from mako.lookup import TemplateLookup |
29 from myghty import interp | 29 lookup = TemplateLookup(directories=[dirname], filesystem_checks=False) |
30 except ImportError: | 30 template = lookup.get_template('template.html') |
31 print>>sys.stderr, 'Mighty not installed, skipping' | |
32 return lambda: None | |
33 interpreter = interp.Interpreter(component_root=dirname) | |
34 def render(): | 31 def render(): |
35 data = dict(title='Just a test', user='joe', | 32 data = dict(title='Just a test', user='joe', |
36 items=['Number %d' % num for num in range(1, 15)]) | 33 list_items=['Number %d' % num for num in range(1, 15)]) |
37 buffer = StringIO() | 34 return template.render(**data) |
38 interpreter.execute("template.myt", request_args=data, out_buffer=buffer) | |
39 return buffer.getvalue() | |
40 if verbose: | 35 if verbose: |
41 print render() | 36 print render() |
42 return render | 37 return render |
43 | 38 |
44 def cheetah(dirname, verbose=False): | 39 def cheetah(dirname, verbose=False): |
184 prof = hotshot.Profile("template.prof") | 179 prof = hotshot.Profile("template.prof") |
185 benchtime = prof.runcall(run, engines, number=100, verbose=verbose) | 180 benchtime = prof.runcall(run, engines, number=100, verbose=verbose) |
186 stats = hotshot.stats.load("template.prof") | 181 stats = hotshot.stats.load("template.prof") |
187 stats.strip_dirs() | 182 stats.strip_dirs() |
188 stats.sort_stats('time', 'calls') | 183 stats.sort_stats('time', 'calls') |
189 stats.print_stats() | 184 stats.print_stats(.05) |
190 else: | 185 else: |
191 run(engines, verbose=verbose) | 186 run(engines, verbose=verbose) |