changeset 332:97b0d21b81b7 trunk

* Fixed `basic.py` benchmark on Windows, closing #72. Thanks to John M. Camara for reporting the issue and providing the fix. * Changed `bigtable.py` benchmark so that `cElementTree` and `ElementTree` are no longer required to run it.
author cmlenz
date Tue, 07 Nov 2006 14:28:02 +0000
parents 3e749eaa3100
children e5ba8c5a30fe
files examples/bench/basic.py examples/bench/bigtable.py
diffstat 2 files changed, 39 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/examples/bench/basic.py
+++ b/examples/bench/basic.py
@@ -146,7 +146,7 @@
             print '--------------------------------------------------------'
         else:
             print '%s:' % engine.capitalize(),
-        t = timeit.Timer(setup='from __main__ import %s; render = %s("%s", %s)'
+        t = timeit.Timer(setup='from __main__ import %s; render = %s(r"%s", %s)'
                                % (engine, engine, dirname, verbose),
                          stmt='render()')
         time = t.timeit(number=number) / number
--- a/examples/bench/bigtable.py
+++ b/examples/bench/bigtable.py
@@ -9,12 +9,20 @@
 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
 
 try:
+    from elementtree import ElementTree as et
+except ImportError:
+    et = None
+
+try:
+    import cElementTree as cet
+except ImportError:
+    cet = None
+
+try:
     import neo_cgi, neo_cs, neo_util
 except ImportError:
     neo_cgi = None
@@ -126,33 +134,37 @@
         kid_tmpl.table = table
         kid_tmpl.serialize(output='html')
 
-    def test_kid_et():
-        """Kid template + cElementTree"""
+
+    if cet:
+        def test_kid_et():
+            """Kid template + cElementTree"""
+            _table = cet.Element('table')
+            for row in table:
+                td = cet.SubElement(_table, 'tr')
+                for c in row.values():
+                    cet.SubElement(td, 'td').text=str(c)
+            kid_tmpl2.table = _table
+            kid_tmpl2.serialize(output='html')
+
+if et:
+    def test_et():
+        """ElementTree"""
+        _table = et.Element('table')
+        for row in table:
+            tr = et.SubElement(_table, 'tr')
+            for c in row.values():
+                et.SubElement(tr, 'td').text=str(c)
+        et.tostring(_table)
+
+if cet:
+    def test_cet(): 
+        """cElementTree"""
         _table = cet.Element('table')
         for row in table:
-            td = cet.SubElement(_table, 'tr')
+            tr = cet.SubElement(_table, 'tr')
             for c in row.values():
-                cet.SubElement(td, 'td').text=str(c)
-        kid_tmpl2.table = _table
-        kid_tmpl2.serialize(output='html')
-
-def test_et(): 
-    """ElementTree"""
-    _table = et.Element('table')
-    for row in table:
-        tr = et.SubElement(_table, 'tr')
-        for c in row.values():
-            et.SubElement(tr, 'td').text=str(c)
-    et.tostring(_table)
-        
-def test_cet(): 
-    """cElementTree"""
-    _table = cet.Element('table')
-    for row in table:
-        tr = cet.SubElement(_table, 'tr')
-        for c in row.values():
-            cet.SubElement(tr, 'td').text=str(c)
-    cet.tostring(_table)
+                cet.SubElement(tr, 'td').text=str(c)
+        cet.tostring(_table)
 
 if neo_cgi:
     def test_clearsilver():
Copyright (C) 2012-2017 Edgewall Software