[Lxml-checkins] r40613 - lxml/trunk/benchmark
scoder at codespeak.net
scoder at codespeak.net
Fri Mar 16 20:26:16 CET 2007
Author: scoder
Date: Fri Mar 16 20:26:13 2007
New Revision: 40613
Modified:
lxml/trunk/benchmark/bench_xpath.py
Log:
benchmark both the old and the new way of using extension functions
Modified: lxml/trunk/benchmark/bench_xpath.py
==============================================================================
--- lxml/trunk/benchmark/bench_xpath.py (original)
+++ lxml/trunk/benchmark/bench_xpath.py Fri Mar 16 20:26:13 2007
@@ -34,7 +34,7 @@
child.xpath("./*[0]")
@onlylib('lxe')
- def bench_xpath_extensions_old(self, root):
+ def bench_xpath_old_extensions(self, root):
def return_child(_, element):
if element:
return element[0]
@@ -45,5 +45,21 @@
for child in root:
xpath(child)
+ @onlylib('lxe')
+ def bench_xpath_extensions(self, root):
+ def return_child(_, element):
+ if element:
+ return element[0]
+ else:
+ return ()
+ self.etree.FunctionNamespace("test")["t"] = return_child
+
+ try:
+ xpath = self.etree.XPath("test:t(.)", {"test":"test"})
+ for child in root:
+ xpath(child)
+ finally:
+ del self.etree.FunctionNamespace("test")["t"]
+
if __name__ == '__main__':
benchbase.main(XPathBenchMark)
More information about the lxml-checkins
mailing list