Mercurial > genshi > genshi-test
changeset 319:2aa99bf95d84
Add [http://www.myghty.org/ Myghty] to the benchmarks, kindly contributed by Mike Bayer.
author | cmlenz |
---|---|
date | Tue, 24 Oct 2006 16:27:41 +0000 |
parents | 8ba12f886c8a |
children | 1f4e66680f9f |
files | examples/bench/basic.py examples/bench/bigtable.py examples/bench/cheetah/template.tmpl |
diffstat | 3 files changed, 46 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/examples/bench/basic.py +++ b/examples/bench/basic.py @@ -4,7 +4,7 @@ import sys import timeit -__all__ = ['clearsilver', 'django', 'kid', 'genshi', 'simpletal'] +__all__ = ['clearsilver', 'myghty', 'django', 'kid', 'genshi', 'cheetah'] def genshi(dirname, verbose=False): from genshi.template import TemplateLoader @@ -19,6 +19,19 @@ print render() return render +def myghty(dirname, verbose=False): + from myghty import interp + interpreter = interp.Interpreter(component_root=dirname) + def render(): + data = dict(title='Just a test', user='joe', + items=['Number %d' % num for num in range(1, 15)]) + buffer = StringIO() + interpreter.execute("template.myt", request_args=data, out_buffer=buffer) + return buffer.getvalue() + if verbose: + print render() + return render + def cheetah(dirname, verbose=False): # FIXME: infinite recursion somewhere... WTF? from Cheetah.Template import Template @@ -38,7 +51,10 @@ return render def clearsilver(dirname, verbose=False): - import neo_cgi + try: + import neo_cgi + except ImportError: + return lambda:None neo_cgi.update() import neo_util import neo_cs
--- a/examples/bench/bigtable.py +++ b/examples/bench/bigtable.py @@ -8,14 +8,11 @@ import cgi import sys import timeit - +from StringIO import StringIO import cElementTree as cet from elementtree import ElementTree as et from genshi.builder import tag from genshi.template import MarkupTemplate -import neo_cgi -import neo_cs -import neo_util try: import neo_cgi, neo_cs, neo_util @@ -35,6 +32,11 @@ except ImportError: DjangoContext = DjangoTemplate = None +try: + from myghty.interp import Interpreter as MyghtyInterpreter +except ImportError: + MyghtyInterpreter = None + table = [dict(a=1,b=2,c=3,d=4,e=5,f=6,g=7,h=8,i=9,j=10) for x in range(1000)] @@ -64,6 +66,24 @@ context = DjangoContext({'table': table}) django_tmpl.render(context) +if MyghtyInterpreter: + interpreter = MyghtyInterpreter() + component = interpreter.make_component(""" +<table> +% for row in ARGS['table']: + <tr> +% for col in row.values(): + <td><% col %></td> +% +% + </tr> +</table> +""") + def test_myghty(): + """Myghty Template""" + buf = StringIO() + interpreter.execute(component, request_args={'table':table}, out_buffer=buf) + def test_genshi(): """Genshi template""" stream = genshi_tmpl.generate(table=table) @@ -154,9 +174,10 @@ def run(which=None, number=10): - tests = ['test_builder', 'test_genshi', 'test_genshi_builder', 'test_kid', + tests = ['test_builder', 'test_genshi', 'test_genshi_builder', 'test_myghty', 'test_kid', 'test_kid_et', 'test_et', 'test_cet', 'test_clearsilver', 'test_django'] + if which: tests = filter(lambda n: n[5:] in which, tests)
--- a/examples/bench/cheetah/template.tmpl +++ b/examples/bench/cheetah/template.tmpl @@ -6,7 +6,7 @@ <title>${title}</title> </head> <body> - #include "header.tmpl" + #include "cheetah/header.tmpl" <h2>Loop</h2> #if $items @@ -17,6 +17,6 @@ </ul> #end if - #include "footer.tmpl" + #include "cheetah/footer.tmpl" </body> </html>