summaryrefslogtreecommitdiffstats
path: root/Tools/pybench
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2008-12-27 20:39:28 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2008-12-27 20:39:28 (GMT)
commit2a013eac6c558e5065ebdcd3054a5688997de277 (patch)
treee7a1fc1feb7252e190f0fff2a3a60f97a81940d1 /Tools/pybench
parent2056bed45eec7a0a7e3cf8345de43cc271996625 (diff)
downloadcpython-2a013eac6c558e5065ebdcd3054a5688997de277.zip
cpython-2a013eac6c558e5065ebdcd3054a5688997de277.tar.gz
cpython-2a013eac6c558e5065ebdcd3054a5688997de277.tar.bz2
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. ........
Diffstat (limited to 'Tools/pybench')
-rw-r--r--Tools/pybench/Lists.py55
1 files changed, 55 insertions, 0 deletions
diff --git a/Tools/pybench/Lists.py b/Tools/pybench/Lists.py
index c39687e..29dabef 100644
--- a/Tools/pybench/Lists.py
+++ b/Tools/pybench/Lists.py
@@ -293,3 +293,58 @@ class SmallLists(Test):
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