diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2008-12-27 20:39:28 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2008-12-27 20:39:28 (GMT) |
commit | 2a013eac6c558e5065ebdcd3054a5688997de277 (patch) | |
tree | e7a1fc1feb7252e190f0fff2a3a60f97a81940d1 /Tools | |
parent | 2056bed45eec7a0a7e3cf8345de43cc271996625 (diff) | |
download | cpython-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')
-rw-r--r-- | Tools/pybench/Lists.py | 55 |
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 |