blob: 7854def1f331322cc3b8786dadf78d8c38722c73 [file] [log] [blame]
Thomas Wouters49fd7fa2006-04-21 10:40:58 +00001from pybench import Test
2
3class TupleSlicing(Test):
4
5 version = 0.31
6 operations = 3 * 25 * 10 * 7
7 rounds = 400
8
9 def test(self):
10
11 r = range(25)
12
13 for i in xrange(self.rounds):
14
15 t = tuple(range(100))
16
17 for j in r:
18
19 m = t[50:]
20 m = t[:25]
21 m = t[50:55]
22 m = t[:-1]
23 m = t[1:]
24 m = t[-10:]
25 m = t[:10]
26
27 m = t[50:]
28 m = t[:25]
29 m = t[50:55]
30 m = t[:-1]
31 m = t[1:]
32 m = t[-10:]
33 m = t[:10]
34
35 m = t[50:]
36 m = t[:25]
37 m = t[50:55]
38 m = t[:-1]
39 m = t[1:]
40 m = t[-10:]
41 m = t[:10]
42
43 m = t[50:]
44 m = t[:25]
45 m = t[50:55]
46 m = t[:-1]
47 m = t[1:]
48 m = t[-10:]
49 m = t[:10]
50
51 m = t[50:]
52 m = t[:25]
53 m = t[50:55]
54 m = t[:-1]
55 m = t[1:]
56 m = t[-10:]
57 m = t[:10]
58
59 m = t[50:]
60 m = t[:25]
61 m = t[50:55]
62 m = t[:-1]
63 m = t[1:]
64 m = t[-10:]
65 m = t[:10]
66
67 m = t[50:]
68 m = t[:25]
69 m = t[50:55]
70 m = t[:-1]
71 m = t[1:]
72 m = t[-10:]
73 m = t[:10]
74
75 m = t[50:]
76 m = t[:25]
77 m = t[50:55]
78 m = t[:-1]
79 m = t[1:]
80 m = t[-10:]
81 m = t[:10]
82
83 m = t[50:]
84 m = t[:25]
85 m = t[50:55]
86 m = t[:-1]
87 m = t[1:]
88 m = t[-10:]
89 m = t[:10]
90
91 m = t[50:]
92 m = t[:25]
93 m = t[50:55]
94 m = t[:-1]
95 m = t[1:]
96 m = t[-10:]
97 m = t[:10]
98
99 m = t[50:]
100 m = t[:25]
101 m = t[50:55]
102 m = t[:-1]
103 m = t[1:]
104 m = t[-10:]
105 m = t[:10]
106
107 m = t[50:]
108 m = t[:25]
109 m = t[50:55]
110 m = t[:-1]
111 m = t[1:]
112 m = t[-10:]
113 m = t[:10]
114
115 m = t[50:]
116 m = t[:25]
117 m = t[50:55]
118 m = t[:-1]
119 m = t[1:]
120 m = t[-10:]
121 m = t[:10]
122
123 m = t[50:]
124 m = t[:25]
125 m = t[50:55]
126 m = t[:-1]
127 m = t[1:]
128 m = t[-10:]
129 m = t[:10]
130
131 m = t[50:]
132 m = t[:25]
133 m = t[50:55]
134 m = t[:-1]
135 m = t[1:]
136 m = t[-10:]
137 m = t[:10]
138
139 m = t[50:]
140 m = t[:25]
141 m = t[50:55]
142 m = t[:-1]
143 m = t[1:]
144 m = t[-10:]
145 m = t[:10]
146
147 m = t[50:]
148 m = t[:25]
149 m = t[50:55]
150 m = t[:-1]
151 m = t[1:]
152 m = t[-10:]
153 m = t[:10]
154
155 m = t[50:]
156 m = t[:25]
157 m = t[50:55]
158 m = t[:-1]
159 m = t[1:]
160 m = t[-10:]
161 m = t[:10]
162
163 m = t[50:]
164 m = t[:25]
165 m = t[50:55]
166 m = t[:-1]
167 m = t[1:]
168 m = t[-10:]
169 m = t[:10]
170
171 m = t[50:]
172 m = t[:25]
173 m = t[50:55]
174 m = t[:-1]
175 m = t[1:]
176 m = t[-10:]
177 m = t[:10]
178
179 m = t[50:]
180 m = t[:25]
181 m = t[50:55]
182 m = t[:-1]
183 m = t[1:]
184 m = t[-10:]
185 m = t[:10]
186
187 m = t[50:]
188 m = t[:25]
189 m = t[50:55]
190 m = t[:-1]
191 m = t[1:]
192 m = t[-10:]
193 m = t[:10]
194
195 m = t[50:]
196 m = t[:25]
197 m = t[50:55]
198 m = t[:-1]
199 m = t[1:]
200 m = t[-10:]
201 m = t[:10]
202
203 m = t[50:]
204 m = t[:25]
205 m = t[50:55]
206 m = t[:-1]
207 m = t[1:]
208 m = t[-10:]
209 m = t[:10]
210
211 m = t[50:]
212 m = t[:25]
213 m = t[50:55]
214 m = t[:-1]
215 m = t[1:]
216 m = t[-10:]
217 m = t[:10]
218
219 m = t[50:]
220 m = t[:25]
221 m = t[50:55]
222 m = t[:-1]
223 m = t[1:]
224 m = t[-10:]
225 m = t[:10]
226
227 m = t[50:]
228 m = t[:25]
229 m = t[50:55]
230 m = t[:-1]
231 m = t[1:]
232 m = t[-10:]
233 m = t[:10]
234
235 m = t[50:]
236 m = t[:25]
237 m = t[50:55]
238 m = t[:-1]
239 m = t[1:]
240 m = t[-10:]
241 m = t[:10]
242
243 m = t[50:]
244 m = t[:25]
245 m = t[50:55]
246 m = t[:-1]
247 m = t[1:]
248 m = t[-10:]
249 m = t[:10]
250
251 m = t[50:]
252 m = t[:25]
253 m = t[50:55]
254 m = t[:-1]
255 m = t[1:]
256 m = t[-10:]
257 m = t[:10]
258
259 def calibrate(self):
260
261 r = range(25)
262
263 for i in xrange(self.rounds):
264
265 t = tuple(range(100))
266
267 for j in r:
268
269 pass
270
271class SmallTuples(Test):
272
273 version = 0.3
274 operations = 5*(1 + 3 + 6 + 2)
275 rounds = 80000
276
277 def test(self):
278
279 for i in xrange(self.rounds):
280
281 t = (1,2,3,4,5,6)
282
283 a,b,c,d,e,f = t
284 a,b,c,d,e,f = t
285 a,b,c,d,e,f = t
286
287 a,b,c = t[:3]
288 a,b,c = t[:3]
289 a,b,c = t[:3]
290 a,b,c = t[:3]
291 a,b,c = t[:3]
292 a,b,c = t[:3]
293
294 l = list(t)
295 t = tuple(l)
296
297 t = (1,2,3,4,5,6)
298
299 a,b,c,d,e,f = t
300 a,b,c,d,e,f = t
301 a,b,c,d,e,f = t
302
303 a,b,c = t[:3]
304 a,b,c = t[:3]
305 a,b,c = t[:3]
306 a,b,c = t[:3]
307 a,b,c = t[:3]
308 a,b,c = t[:3]
309
310 l = list(t)
311 t = tuple(l)
312
313 t = (1,2,3,4,5,6)
314
315 a,b,c,d,e,f = t
316 a,b,c,d,e,f = t
317 a,b,c,d,e,f = t
318
319 a,b,c = t[:3]
320 a,b,c = t[:3]
321 a,b,c = t[:3]
322 a,b,c = t[:3]
323 a,b,c = t[:3]
324 a,b,c = t[:3]
325
326 l = list(t)
327 t = tuple(l)
328
329 t = (1,2,3,4,5,6)
330
331 a,b,c,d,e,f = t
332 a,b,c,d,e,f = t
333 a,b,c,d,e,f = t
334
335 a,b,c = t[:3]
336 a,b,c = t[:3]
337 a,b,c = t[:3]
338 a,b,c = t[:3]
339 a,b,c = t[:3]
340 a,b,c = t[:3]
341
342 l = list(t)
343 t = tuple(l)
344
345 t = (1,2,3,4,5,6)
346
347 a,b,c,d,e,f = t
348 a,b,c,d,e,f = t
349 a,b,c,d,e,f = t
350
351 a,b,c = t[:3]
352 a,b,c = t[:3]
353 a,b,c = t[:3]
354 a,b,c = t[:3]
355 a,b,c = t[:3]
356 a,b,c = t[:3]
357
358 l = list(t)
359 t = tuple(l)
360
361 def calibrate(self):
362
363 for i in xrange(self.rounds):
364 pass
365