[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