[Python-checkins] r67966 - in python/branches/py3k: Misc/NEWS Tools/pybench/Lists.py
antoine.pitrou
python-checkins at python.org
Sat Dec 27 21:39:28 CET 2008
Author: antoine.pitrou
Date: Sat Dec 27 21:39:28 2008
New Revision: 67966
Log:
Merged revisions 67965 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r67965 | antoine.pitrou | 2008-12-27 21:34:52 +0100 (sam., 27 déc. 2008) | 3 lines
Issue #4677: add two list comprehension tests to pybench.
........
Modified:
python/branches/py3k/ (props changed)
python/branches/py3k/Misc/NEWS
python/branches/py3k/Tools/pybench/Lists.py
Modified: python/branches/py3k/Misc/NEWS
==============================================================================
--- python/branches/py3k/Misc/NEWS (original)
+++ python/branches/py3k/Misc/NEWS Sat Dec 27 21:39:28 2008
@@ -136,6 +136,11 @@
support unusual filenames (such as those containing semi-colons) in
Content-Disposition headers.
+Tools/Demos
+-----------
+
+- Issue #4677: add two list comprehension tests to pybench.
+
Extension Modules
-----------------
Modified: python/branches/py3k/Tools/pybench/Lists.py
==============================================================================
--- python/branches/py3k/Tools/pybench/Lists.py (original)
+++ python/branches/py3k/Tools/pybench/Lists.py Sat Dec 27 21:39:28 2008
@@ -293,3 +293,58 @@
for i in range(self.rounds):
pass
+
+class SimpleListComprehensions(Test):
+
+ version = 2.0
+ operations = 6
+ rounds = 20000
+
+ def test(self):
+
+ n = list(range(10)) * 10
+
+ for i in range(self.rounds):
+ l = [x for x in n]
+ l = [x for x in n if x]
+ l = [x for x in n if not x]
+
+ l = [x for x in n]
+ l = [x for x in n if x]
+ l = [x for x in n if not x]
+
+ def calibrate(self):
+
+ n = list(range(10)) * 10
+
+ for i in range(self.rounds):
+ pass
+
+class NestedListComprehensions(Test):
+
+ version = 2.0
+ operations = 6
+ rounds = 20000
+
+ def test(self):
+
+ m = list(range(10))
+ n = list(range(10))
+
+ for i in range(self.rounds):
+ l = [x for x in n for y in m]
+ l = [y for x in n for y in m]
+
+ l = [x for x in n for y in m if y]
+ l = [y for x in n for y in m if x]
+
+ l = [x for x in n for y in m if not y]
+ l = [y for x in n for y in m if not x]
+
+ def calibrate(self):
+
+ m = list(range(10))
+ n = list(range(10))
+
+ for i in range(self.rounds):
+ pass
More information about the Python-checkins
mailing list