[Lxml-checkins] r52473 - in lxml/trunk: . benchmark

scoder at codespeak.net scoder at codespeak.net
Fri Mar 14 08:08:47 CET 2008


Author: scoder
Date: Fri Mar 14 08:08:45 2008
New Revision: 52473

Modified:
   lxml/trunk/   (props changed)
   lxml/trunk/benchmark/bench_etree.py
   lxml/trunk/benchmark/bench_objectify.py
   lxml/trunk/benchmark/bench_xpath.py
   lxml/trunk/benchmark/bench_xslt.py
   lxml/trunk/benchmark/benchbase.py
Log:
 r3783 at delle:  sbehnel | 2008-03-14 08:07:45 +0100
 benchmark fixes


Modified: lxml/trunk/benchmark/bench_etree.py
==============================================================================
--- lxml/trunk/benchmark/bench_etree.py	(original)
+++ lxml/trunk/benchmark/bench_etree.py	Fri Mar 14 08:08:45 2008
@@ -12,7 +12,7 @@
 # Benchmarks
 ############################################################
 
-class BenchMark(benchbase.BenchMarkBase):
+class BenchMark(benchbase.TreeBenchMark):
     def bench_iter_children(self, root):
         for child in root:
             pass

Modified: lxml/trunk/benchmark/bench_objectify.py
==============================================================================
--- lxml/trunk/benchmark/bench_objectify.py	(original)
+++ lxml/trunk/benchmark/bench_objectify.py	Fri Mar 14 08:08:45 2008
@@ -3,13 +3,14 @@
 from StringIO import StringIO
 
 import benchbase
-from benchbase import with_attributes, with_text, onlylib, serialized
+from benchbase import with_attributes, with_text, onlylib, serialized, children
 
 ############################################################
 # Benchmarks
 ############################################################
 
-class BenchMark(benchbase.BenchMarkBase):
+class BenchMark(benchbase.TreeBenchMark):
+    repeat100  = range(100)
     repeat1000 = range(1000)
     repeat3000 = range(3000)
 
@@ -96,6 +97,17 @@
         for i in self.repeat1000:
             el.getchildren()
 
+    @children
+    def bench_elementmaker(self, children):
+        E = self.objectify.E
+        for child in children:
+            root = E.this(
+                "test",
+                E.will(
+                    E.do("nothing"),
+                    E.special,
+                    )
+                )
 
 if __name__ == '__main__':
     benchbase.main(BenchMark)

Modified: lxml/trunk/benchmark/bench_xpath.py
==============================================================================
--- lxml/trunk/benchmark/bench_xpath.py	(original)
+++ lxml/trunk/benchmark/bench_xpath.py	Fri Mar 14 08:08:45 2008
@@ -9,7 +9,7 @@
 # Benchmarks
 ############################################################
 
-class XPathBenchMark(benchbase.BenchMarkBase):
+class XPathBenchMark(benchbase.TreeBenchMark):
     @onlylib('lxe')
     @children
     def bench_xpath_class(self, children):

Modified: lxml/trunk/benchmark/bench_xslt.py
==============================================================================
--- lxml/trunk/benchmark/bench_xslt.py	(original)
+++ lxml/trunk/benchmark/bench_xslt.py	Fri Mar 14 08:08:45 2008
@@ -9,7 +9,7 @@
 # Benchmarks
 ############################################################
 
-class XSLTBenchMark(benchbase.BenchMarkBase):
+class XSLTBenchMark(benchbase.TreeBenchMark):
     @onlylib('lxe')
     def bench_xslt_extensions_old(self, root):
         tree = self.etree.XML("""\

Modified: lxml/trunk/benchmark/benchbase.py
==============================================================================
--- lxml/trunk/benchmark/benchbase.py	(original)
+++ lxml/trunk/benchmark/benchbase.py	Fri Mar 14 08:08:45 2008
@@ -90,7 +90,7 @@
 class SkippedTest(Exception):
     pass
 
-class BenchMarkBase(object):
+class TreeBenchMark(object):
     atoz = string.ascii_lowercase
 
     _LIB_NAME_MAP = {
@@ -123,8 +123,8 @@
                 setattr(self, fname + '_xml', lambda : xml)
                 setattr(self, fname + '_children', lambda : root[:])
 
-        attribute_list = list(izip(count(), ({}, _ATTRIBUTES)))
-        text_list = list(izip(count(), (None, _TEXT, _UTEXT)))
+        attribute_list = list(enumerate( [{}, _ATTRIBUTES] ))
+        text_list = list(enumerate( [None, _TEXT, _UTEXT] ))
         build_name = self._tree_builder_name
 
         self.setup_times = []
@@ -447,9 +447,8 @@
             pass
         else:
             # use fast element creation in lxml.etree
-            from lxml.elements import classlookup
-            classlookup.setElementClassLookup(
-                classlookup.ElementDefaultClassLookup())
+            etree.set_element_class_lookup(
+                etree.ElementDefaultClassLookup())
 
     if len(sys.argv) > 1:
         if '-a' in sys.argv or '-c' in sys.argv:


More information about the lxml-checkins mailing list