annotate Tools/pybench/With.py @ 87690:66c1c9f32567 default tip

Add use_weakref option to functools.lru_cache The use_weakref option makes lru_cache create weak references to the function arguments when creating the cache key, which prevents them from staying in the memory forever even after all other references to them are gone. This is a proof of concept for http://bugs.python.org/issue19859
author Radomir Dopieralski <devel@sheep.art.pl>
date Tue, 03 Dec 2013 16:02:48 +0100
parents 63741c7521aa
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
45963
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
1 from __future__ import with_statement
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
2 from pybench import Test
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
3
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
4 class WithFinally(Test):
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
5
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
6 version = 2.0
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
7 operations = 20
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
8 rounds = 80000
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
9
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
10 class ContextManager(object):
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
11 def __enter__(self):
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
12 pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
13 def __exit__(self, exc, val, tb):
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
14 pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
15
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
16 def test(self):
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
17
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
18 cm = self.ContextManager()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
19
47103
63741c7521aa More 2to3 fixes in the Tools directory. Fixes #2893.
Georg Brandl <georg@python.org>
parents: 45963
diff changeset
20 for i in range(self.rounds):
45963
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
21 with cm: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
22 with cm: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
23 with cm: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
24 with cm: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
25 with cm: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
26 with cm: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
27 with cm: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
28 with cm: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
29 with cm: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
30 with cm: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
31 with cm: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
32 with cm: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
33 with cm: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
34 with cm: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
35 with cm: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
36 with cm: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
37 with cm: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
38 with cm: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
39 with cm: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
40 with cm: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
41
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
42 def calibrate(self):
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
43
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
44 cm = self.ContextManager()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
45
47103
63741c7521aa More 2to3 fixes in the Tools directory. Fixes #2893.
Georg Brandl <georg@python.org>
parents: 45963
diff changeset
46 for i in range(self.rounds):
45963
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
47 pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
48
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
49
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
50 class TryFinally(Test):
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
51
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
52 version = 2.0
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
53 operations = 20
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
54 rounds = 80000
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
55
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
56 class ContextManager(object):
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
57 def __enter__(self):
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
58 pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
59 def __exit__(self):
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
60 # "Context manager" objects used just for their cleanup
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
61 # actions in finally blocks usually don't have parameters.
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
62 pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
63
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
64 def test(self):
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
65
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
66 cm = self.ContextManager()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
67
47103
63741c7521aa More 2to3 fixes in the Tools directory. Fixes #2893.
Georg Brandl <georg@python.org>
parents: 45963
diff changeset
68 for i in range(self.rounds):
45963
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
69 cm.__enter__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
70 try: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
71 finally: cm.__exit__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
72
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
73 cm.__enter__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
74 try: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
75 finally: cm.__exit__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
76
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
77 cm.__enter__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
78 try: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
79 finally: cm.__exit__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
80
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
81 cm.__enter__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
82 try: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
83 finally: cm.__exit__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
84
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
85 cm.__enter__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
86 try: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
87 finally: cm.__exit__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
88
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
89 cm.__enter__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
90 try: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
91 finally: cm.__exit__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
92
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
93 cm.__enter__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
94 try: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
95 finally: cm.__exit__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
96
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
97 cm.__enter__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
98 try: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
99 finally: cm.__exit__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
100
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
101 cm.__enter__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
102 try: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
103 finally: cm.__exit__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
104
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
105 cm.__enter__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
106 try: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
107 finally: cm.__exit__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
108
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
109 cm.__enter__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
110 try: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
111 finally: cm.__exit__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
112
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
113 cm.__enter__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
114 try: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
115 finally: cm.__exit__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
116
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
117 cm.__enter__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
118 try: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
119 finally: cm.__exit__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
120
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
121 cm.__enter__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
122 try: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
123 finally: cm.__exit__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
124
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
125 cm.__enter__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
126 try: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
127 finally: cm.__exit__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
128
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
129 cm.__enter__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
130 try: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
131 finally: cm.__exit__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
132
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
133 cm.__enter__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
134 try: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
135 finally: cm.__exit__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
136
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
137 cm.__enter__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
138 try: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
139 finally: cm.__exit__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
140
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
141 cm.__enter__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
142 try: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
143 finally: cm.__exit__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
144
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
145 cm.__enter__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
146 try: pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
147 finally: cm.__exit__()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
148
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
149 def calibrate(self):
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
150
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
151 cm = self.ContextManager()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
152
47103
63741c7521aa More 2to3 fixes in the Tools directory. Fixes #2893.
Georg Brandl <georg@python.org>
parents: 45963
diff changeset
153 for i in range(self.rounds):
45963
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
154 pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
155
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
156
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
157 class WithRaiseExcept(Test):
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
158
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
159 version = 2.0
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
160 operations = 2 + 3 + 3
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
161 rounds = 100000
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
162
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
163 class BlockExceptions(object):
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
164 def __enter__(self):
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
165 pass
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
166 def __exit__(self, exc, val, tb):
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
167 return True
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
168
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
169 def test(self):
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
170
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
171 error = ValueError
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
172 be = self.BlockExceptions()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
173
47103
63741c7521aa More 2to3 fixes in the Tools directory. Fixes #2893.
Georg Brandl <georg@python.org>
parents: 45963
diff changeset
174 for i in range(self.rounds):
45963
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
175 with be: raise error
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
176 with be: raise error
47103
63741c7521aa More 2to3 fixes in the Tools directory. Fixes #2893.
Georg Brandl <georg@python.org>
parents: 45963
diff changeset
177 with be: raise error("something")
63741c7521aa More 2to3 fixes in the Tools directory. Fixes #2893.
Georg Brandl <georg@python.org>
parents: 45963
diff changeset
178 with be: raise error("something")
63741c7521aa More 2to3 fixes in the Tools directory. Fixes #2893.
Georg Brandl <georg@python.org>
parents: 45963
diff changeset
179 with be: raise error("something")
45963
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
180 with be: raise error("something")
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
181 with be: raise error("something")
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
182 with be: raise error("something")
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
183
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
184 def calibrate(self):
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
185
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
186 error = ValueError
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
187 be = self.BlockExceptions()
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
188
47103
63741c7521aa More 2to3 fixes in the Tools directory. Fixes #2893.
Georg Brandl <georg@python.org>
parents: 45963
diff changeset
189 for i in range(self.rounds):
45963
29131892611c #2435: missing file in pybench
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
diff changeset
190 pass