~ubuntu-branches/ubuntu/maverick/python3.1/maverick

« back to all changes in this revision

Viewing changes to Tools/pybench/Lookups.py

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2009-03-23 00:01:27 UTC
  • Revision ID: james.westby@ubuntu.com-20090323000127-5fstfxju4ufrhthq
Tags: upstream-3.1~a1+20090322
ImportĀ upstreamĀ versionĀ 3.1~a1+20090322

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from pybench import Test
 
2
 
 
3
class SpecialClassAttribute(Test):
 
4
 
 
5
    version = 2.0
 
6
    operations = 5*(12 + 12)
 
7
    rounds = 100000
 
8
 
 
9
    def test(self):
 
10
 
 
11
        class c:
 
12
            pass
 
13
 
 
14
        for i in range(self.rounds):
 
15
 
 
16
            c.__a = 2
 
17
            c.__b = 3
 
18
            c.__c = 4
 
19
 
 
20
            c.__a = 2
 
21
            c.__b = 3
 
22
            c.__c = 4
 
23
 
 
24
            c.__a = 2
 
25
            c.__b = 3
 
26
            c.__c = 4
 
27
 
 
28
            c.__a = 2
 
29
            c.__b = 3
 
30
            c.__c = 4
 
31
 
 
32
            x = c.__a
 
33
            x = c.__b
 
34
            x = c.__c
 
35
 
 
36
            x = c.__a
 
37
            x = c.__b
 
38
            x = c.__c
 
39
 
 
40
            x = c.__a
 
41
            x = c.__b
 
42
            x = c.__c
 
43
 
 
44
            x = c.__a
 
45
            x = c.__b
 
46
            x = c.__c
 
47
 
 
48
            c.__a = 2
 
49
            c.__b = 3
 
50
            c.__c = 4
 
51
 
 
52
            c.__a = 2
 
53
            c.__b = 3
 
54
            c.__c = 4
 
55
 
 
56
            c.__a = 2
 
57
            c.__b = 3
 
58
            c.__c = 4
 
59
 
 
60
            c.__a = 2
 
61
            c.__b = 3
 
62
            c.__c = 4
 
63
 
 
64
            x = c.__a
 
65
            x = c.__b
 
66
            x = c.__c
 
67
 
 
68
            x = c.__a
 
69
            x = c.__b
 
70
            x = c.__c
 
71
 
 
72
            x = c.__a
 
73
            x = c.__b
 
74
            x = c.__c
 
75
 
 
76
            x = c.__a
 
77
            x = c.__b
 
78
            x = c.__c
 
79
 
 
80
            c.__a = 2
 
81
            c.__b = 3
 
82
            c.__c = 4
 
83
 
 
84
            c.__a = 2
 
85
            c.__b = 3
 
86
            c.__c = 4
 
87
 
 
88
            c.__a = 2
 
89
            c.__b = 3
 
90
            c.__c = 4
 
91
 
 
92
            c.__a = 2
 
93
            c.__b = 3
 
94
            c.__c = 4
 
95
 
 
96
            x = c.__a
 
97
            x = c.__b
 
98
            x = c.__c
 
99
 
 
100
            x = c.__a
 
101
            x = c.__b
 
102
            x = c.__c
 
103
 
 
104
            x = c.__a
 
105
            x = c.__b
 
106
            x = c.__c
 
107
 
 
108
            x = c.__a
 
109
            x = c.__b
 
110
            x = c.__c
 
111
 
 
112
            c.__a = 2
 
113
            c.__b = 3
 
114
            c.__c = 4
 
115
 
 
116
            c.__a = 2
 
117
            c.__b = 3
 
118
            c.__c = 4
 
119
 
 
120
            c.__a = 2
 
121
            c.__b = 3
 
122
            c.__c = 4
 
123
 
 
124
            c.__a = 2
 
125
            c.__b = 3
 
126
            c.__c = 4
 
127
 
 
128
            x = c.__a
 
129
            x = c.__b
 
130
            x = c.__c
 
131
 
 
132
            x = c.__a
 
133
            x = c.__b
 
134
            x = c.__c
 
135
 
 
136
            x = c.__a
 
137
            x = c.__b
 
138
            x = c.__c
 
139
 
 
140
            x = c.__a
 
141
            x = c.__b
 
142
            x = c.__c
 
143
 
 
144
            c.__a = 2
 
145
            c.__b = 3
 
146
            c.__c = 4
 
147
 
 
148
            c.__a = 2
 
149
            c.__b = 3
 
150
            c.__c = 4
 
151
 
 
152
            c.__a = 2
 
153
            c.__b = 3
 
154
            c.__c = 4
 
155
 
 
156
            c.__a = 2
 
157
            c.__b = 3
 
158
            c.__c = 4
 
159
 
 
160
            x = c.__a
 
161
            x = c.__b
 
162
            x = c.__c
 
163
 
 
164
            x = c.__a
 
165
            x = c.__b
 
166
            x = c.__c
 
167
 
 
168
            x = c.__a
 
169
            x = c.__b
 
170
            x = c.__c
 
171
 
 
172
            x = c.__a
 
173
            x = c.__b
 
174
            x = c.__c
 
175
 
 
176
    def calibrate(self):
 
177
 
 
178
        class c:
 
179
            pass
 
180
 
 
181
        for i in range(self.rounds):
 
182
            pass
 
183
 
 
184
class NormalClassAttribute(Test):
 
185
 
 
186
    version = 2.0
 
187
    operations = 5*(12 + 12)
 
188
    rounds = 100000
 
189
 
 
190
    def test(self):
 
191
 
 
192
        class c:
 
193
            pass
 
194
 
 
195
        for i in range(self.rounds):
 
196
 
 
197
            c.a = 2
 
198
            c.b = 3
 
199
            c.c = 4
 
200
 
 
201
            c.a = 2
 
202
            c.b = 3
 
203
            c.c = 4
 
204
 
 
205
            c.a = 2
 
206
            c.b = 3
 
207
            c.c = 4
 
208
 
 
209
            c.a = 2
 
210
            c.b = 3
 
211
            c.c = 4
 
212
 
 
213
 
 
214
            x = c.a
 
215
            x = c.b
 
216
            x = c.c
 
217
 
 
218
            x = c.a
 
219
            x = c.b
 
220
            x = c.c
 
221
 
 
222
            x = c.a
 
223
            x = c.b
 
224
            x = c.c
 
225
 
 
226
            x = c.a
 
227
            x = c.b
 
228
            x = c.c
 
229
 
 
230
            c.a = 2
 
231
            c.b = 3
 
232
            c.c = 4
 
233
 
 
234
            c.a = 2
 
235
            c.b = 3
 
236
            c.c = 4
 
237
 
 
238
            c.a = 2
 
239
            c.b = 3
 
240
            c.c = 4
 
241
 
 
242
            c.a = 2
 
243
            c.b = 3
 
244
            c.c = 4
 
245
 
 
246
 
 
247
            x = c.a
 
248
            x = c.b
 
249
            x = c.c
 
250
 
 
251
            x = c.a
 
252
            x = c.b
 
253
            x = c.c
 
254
 
 
255
            x = c.a
 
256
            x = c.b
 
257
            x = c.c
 
258
 
 
259
            x = c.a
 
260
            x = c.b
 
261
            x = c.c
 
262
 
 
263
            c.a = 2
 
264
            c.b = 3
 
265
            c.c = 4
 
266
 
 
267
            c.a = 2
 
268
            c.b = 3
 
269
            c.c = 4
 
270
 
 
271
            c.a = 2
 
272
            c.b = 3
 
273
            c.c = 4
 
274
 
 
275
            c.a = 2
 
276
            c.b = 3
 
277
            c.c = 4
 
278
 
 
279
 
 
280
            x = c.a
 
281
            x = c.b
 
282
            x = c.c
 
283
 
 
284
            x = c.a
 
285
            x = c.b
 
286
            x = c.c
 
287
 
 
288
            x = c.a
 
289
            x = c.b
 
290
            x = c.c
 
291
 
 
292
            x = c.a
 
293
            x = c.b
 
294
            x = c.c
 
295
 
 
296
            c.a = 2
 
297
            c.b = 3
 
298
            c.c = 4
 
299
 
 
300
            c.a = 2
 
301
            c.b = 3
 
302
            c.c = 4
 
303
 
 
304
            c.a = 2
 
305
            c.b = 3
 
306
            c.c = 4
 
307
 
 
308
            c.a = 2
 
309
            c.b = 3
 
310
            c.c = 4
 
311
 
 
312
 
 
313
            x = c.a
 
314
            x = c.b
 
315
            x = c.c
 
316
 
 
317
            x = c.a
 
318
            x = c.b
 
319
            x = c.c
 
320
 
 
321
            x = c.a
 
322
            x = c.b
 
323
            x = c.c
 
324
 
 
325
            x = c.a
 
326
            x = c.b
 
327
            x = c.c
 
328
 
 
329
            c.a = 2
 
330
            c.b = 3
 
331
            c.c = 4
 
332
 
 
333
            c.a = 2
 
334
            c.b = 3
 
335
            c.c = 4
 
336
 
 
337
            c.a = 2
 
338
            c.b = 3
 
339
            c.c = 4
 
340
 
 
341
            c.a = 2
 
342
            c.b = 3
 
343
            c.c = 4
 
344
 
 
345
 
 
346
            x = c.a
 
347
            x = c.b
 
348
            x = c.c
 
349
 
 
350
            x = c.a
 
351
            x = c.b
 
352
            x = c.c
 
353
 
 
354
            x = c.a
 
355
            x = c.b
 
356
            x = c.c
 
357
 
 
358
            x = c.a
 
359
            x = c.b
 
360
            x = c.c
 
361
 
 
362
    def calibrate(self):
 
363
 
 
364
        class c:
 
365
            pass
 
366
 
 
367
        for i in range(self.rounds):
 
368
            pass
 
369
 
 
370
class SpecialInstanceAttribute(Test):
 
371
 
 
372
    version = 2.0
 
373
    operations = 5*(12 + 12)
 
374
    rounds = 100000
 
375
 
 
376
    def test(self):
 
377
 
 
378
        class c:
 
379
            pass
 
380
        o = c()
 
381
 
 
382
        for i in range(self.rounds):
 
383
 
 
384
            o.__a__ = 2
 
385
            o.__b__ = 3
 
386
            o.__c__ = 4
 
387
 
 
388
            o.__a__ = 2
 
389
            o.__b__ = 3
 
390
            o.__c__ = 4
 
391
 
 
392
            o.__a__ = 2
 
393
            o.__b__ = 3
 
394
            o.__c__ = 4
 
395
 
 
396
            o.__a__ = 2
 
397
            o.__b__ = 3
 
398
            o.__c__ = 4
 
399
 
 
400
 
 
401
            x = o.__a__
 
402
            x = o.__b__
 
403
            x = o.__c__
 
404
 
 
405
            x = o.__a__
 
406
            x = o.__b__
 
407
            x = o.__c__
 
408
 
 
409
            x = o.__a__
 
410
            x = o.__b__
 
411
            x = o.__c__
 
412
 
 
413
            x = o.__a__
 
414
            x = o.__b__
 
415
            x = o.__c__
 
416
 
 
417
            o.__a__ = 2
 
418
            o.__b__ = 3
 
419
            o.__c__ = 4
 
420
 
 
421
            o.__a__ = 2
 
422
            o.__b__ = 3
 
423
            o.__c__ = 4
 
424
 
 
425
            o.__a__ = 2
 
426
            o.__b__ = 3
 
427
            o.__c__ = 4
 
428
 
 
429
            o.__a__ = 2
 
430
            o.__b__ = 3
 
431
            o.__c__ = 4
 
432
 
 
433
 
 
434
            x = o.__a__
 
435
            x = o.__b__
 
436
            x = o.__c__
 
437
 
 
438
            x = o.__a__
 
439
            x = o.__b__
 
440
            x = o.__c__
 
441
 
 
442
            x = o.__a__
 
443
            x = o.__b__
 
444
            x = o.__c__
 
445
 
 
446
            x = o.__a__
 
447
            x = o.__b__
 
448
            x = o.__c__
 
449
 
 
450
            o.__a__ = 2
 
451
            o.__b__ = 3
 
452
            o.__c__ = 4
 
453
 
 
454
            o.__a__ = 2
 
455
            o.__b__ = 3
 
456
            o.__c__ = 4
 
457
 
 
458
            o.__a__ = 2
 
459
            o.__b__ = 3
 
460
            o.__c__ = 4
 
461
 
 
462
            o.__a__ = 2
 
463
            o.__b__ = 3
 
464
            o.__c__ = 4
 
465
 
 
466
 
 
467
            x = o.__a__
 
468
            x = o.__b__
 
469
            x = o.__c__
 
470
 
 
471
            x = o.__a__
 
472
            x = o.__b__
 
473
            x = o.__c__
 
474
 
 
475
            x = o.__a__
 
476
            x = o.__b__
 
477
            x = o.__c__
 
478
 
 
479
            x = o.__a__
 
480
            x = o.__b__
 
481
            x = o.__c__
 
482
 
 
483
            o.__a__ = 2
 
484
            o.__b__ = 3
 
485
            o.__c__ = 4
 
486
 
 
487
            o.__a__ = 2
 
488
            o.__b__ = 3
 
489
            o.__c__ = 4
 
490
 
 
491
            o.__a__ = 2
 
492
            o.__b__ = 3
 
493
            o.__c__ = 4
 
494
 
 
495
            o.__a__ = 2
 
496
            o.__b__ = 3
 
497
            o.__c__ = 4
 
498
 
 
499
 
 
500
            x = o.__a__
 
501
            x = o.__b__
 
502
            x = o.__c__
 
503
 
 
504
            x = o.__a__
 
505
            x = o.__b__
 
506
            x = o.__c__
 
507
 
 
508
            x = o.__a__
 
509
            x = o.__b__
 
510
            x = o.__c__
 
511
 
 
512
            x = o.__a__
 
513
            x = o.__b__
 
514
            x = o.__c__
 
515
 
 
516
            o.__a__ = 2
 
517
            o.__b__ = 3
 
518
            o.__c__ = 4
 
519
 
 
520
            o.__a__ = 2
 
521
            o.__b__ = 3
 
522
            o.__c__ = 4
 
523
 
 
524
            o.__a__ = 2
 
525
            o.__b__ = 3
 
526
            o.__c__ = 4
 
527
 
 
528
            o.__a__ = 2
 
529
            o.__b__ = 3
 
530
            o.__c__ = 4
 
531
 
 
532
 
 
533
            x = o.__a__
 
534
            x = o.__b__
 
535
            x = o.__c__
 
536
 
 
537
            x = o.__a__
 
538
            x = o.__b__
 
539
            x = o.__c__
 
540
 
 
541
            x = o.__a__
 
542
            x = o.__b__
 
543
            x = o.__c__
 
544
 
 
545
            x = o.__a__
 
546
            x = o.__b__
 
547
            x = o.__c__
 
548
 
 
549
    def calibrate(self):
 
550
 
 
551
        class c:
 
552
            pass
 
553
        o = c()
 
554
 
 
555
        for i in range(self.rounds):
 
556
            pass
 
557
 
 
558
class NormalInstanceAttribute(Test):
 
559
 
 
560
    version = 2.0
 
561
    operations = 5*(12 + 12)
 
562
    rounds = 100000
 
563
 
 
564
    def test(self):
 
565
 
 
566
        class c:
 
567
            pass
 
568
        o = c()
 
569
 
 
570
        for i in range(self.rounds):
 
571
 
 
572
            o.a = 2
 
573
            o.b = 3
 
574
            o.c = 4
 
575
 
 
576
            o.a = 2
 
577
            o.b = 3
 
578
            o.c = 4
 
579
 
 
580
            o.a = 2
 
581
            o.b = 3
 
582
            o.c = 4
 
583
 
 
584
            o.a = 2
 
585
            o.b = 3
 
586
            o.c = 4
 
587
 
 
588
 
 
589
            x = o.a
 
590
            x = o.b
 
591
            x = o.c
 
592
 
 
593
            x = o.a
 
594
            x = o.b
 
595
            x = o.c
 
596
 
 
597
            x = o.a
 
598
            x = o.b
 
599
            x = o.c
 
600
 
 
601
            x = o.a
 
602
            x = o.b
 
603
            x = o.c
 
604
 
 
605
            o.a = 2
 
606
            o.b = 3
 
607
            o.c = 4
 
608
 
 
609
            o.a = 2
 
610
            o.b = 3
 
611
            o.c = 4
 
612
 
 
613
            o.a = 2
 
614
            o.b = 3
 
615
            o.c = 4
 
616
 
 
617
            o.a = 2
 
618
            o.b = 3
 
619
            o.c = 4
 
620
 
 
621
 
 
622
            x = o.a
 
623
            x = o.b
 
624
            x = o.c
 
625
 
 
626
            x = o.a
 
627
            x = o.b
 
628
            x = o.c
 
629
 
 
630
            x = o.a
 
631
            x = o.b
 
632
            x = o.c
 
633
 
 
634
            x = o.a
 
635
            x = o.b
 
636
            x = o.c
 
637
 
 
638
            o.a = 2
 
639
            o.b = 3
 
640
            o.c = 4
 
641
 
 
642
            o.a = 2
 
643
            o.b = 3
 
644
            o.c = 4
 
645
 
 
646
            o.a = 2
 
647
            o.b = 3
 
648
            o.c = 4
 
649
 
 
650
            o.a = 2
 
651
            o.b = 3
 
652
            o.c = 4
 
653
 
 
654
 
 
655
            x = o.a
 
656
            x = o.b
 
657
            x = o.c
 
658
 
 
659
            x = o.a
 
660
            x = o.b
 
661
            x = o.c
 
662
 
 
663
            x = o.a
 
664
            x = o.b
 
665
            x = o.c
 
666
 
 
667
            x = o.a
 
668
            x = o.b
 
669
            x = o.c
 
670
 
 
671
            o.a = 2
 
672
            o.b = 3
 
673
            o.c = 4
 
674
 
 
675
            o.a = 2
 
676
            o.b = 3
 
677
            o.c = 4
 
678
 
 
679
            o.a = 2
 
680
            o.b = 3
 
681
            o.c = 4
 
682
 
 
683
            o.a = 2
 
684
            o.b = 3
 
685
            o.c = 4
 
686
 
 
687
 
 
688
            x = o.a
 
689
            x = o.b
 
690
            x = o.c
 
691
 
 
692
            x = o.a
 
693
            x = o.b
 
694
            x = o.c
 
695
 
 
696
            x = o.a
 
697
            x = o.b
 
698
            x = o.c
 
699
 
 
700
            x = o.a
 
701
            x = o.b
 
702
            x = o.c
 
703
 
 
704
            o.a = 2
 
705
            o.b = 3
 
706
            o.c = 4
 
707
 
 
708
            o.a = 2
 
709
            o.b = 3
 
710
            o.c = 4
 
711
 
 
712
            o.a = 2
 
713
            o.b = 3
 
714
            o.c = 4
 
715
 
 
716
            o.a = 2
 
717
            o.b = 3
 
718
            o.c = 4
 
719
 
 
720
 
 
721
            x = o.a
 
722
            x = o.b
 
723
            x = o.c
 
724
 
 
725
            x = o.a
 
726
            x = o.b
 
727
            x = o.c
 
728
 
 
729
            x = o.a
 
730
            x = o.b
 
731
            x = o.c
 
732
 
 
733
            x = o.a
 
734
            x = o.b
 
735
            x = o.c
 
736
 
 
737
    def calibrate(self):
 
738
 
 
739
        class c:
 
740
            pass
 
741
        o = c()
 
742
 
 
743
        for i in range(self.rounds):
 
744
            pass
 
745
 
 
746
class BuiltinMethodLookup(Test):
 
747
 
 
748
    version = 2.0
 
749
    operations = 5*(3*5 + 3*5)
 
750
    rounds = 70000
 
751
 
 
752
    def test(self):
 
753
 
 
754
        l = []
 
755
        d = {}
 
756
 
 
757
        for i in range(self.rounds):
 
758
 
 
759
            l.append
 
760
            l.append
 
761
            l.append
 
762
            l.append
 
763
            l.append
 
764
 
 
765
            l.insert
 
766
            l.insert
 
767
            l.insert
 
768
            l.insert
 
769
            l.insert
 
770
 
 
771
            l.sort
 
772
            l.sort
 
773
            l.sort
 
774
            l.sort
 
775
            l.sort
 
776
 
 
777
            # d.has_key
 
778
            # d.has_key
 
779
            # d.has_key
 
780
            # d.has_key
 
781
            # d.has_key
 
782
 
 
783
            d.items
 
784
            d.items
 
785
            d.items
 
786
            d.items
 
787
            d.items
 
788
 
 
789
            d.get
 
790
            d.get
 
791
            d.get
 
792
            d.get
 
793
            d.get
 
794
 
 
795
            l.append
 
796
            l.append
 
797
            l.append
 
798
            l.append
 
799
            l.append
 
800
 
 
801
            l.insert
 
802
            l.insert
 
803
            l.insert
 
804
            l.insert
 
805
            l.insert
 
806
 
 
807
            l.sort
 
808
            l.sort
 
809
            l.sort
 
810
            l.sort
 
811
            l.sort
 
812
 
 
813
            # d.has_key
 
814
            # d.has_key
 
815
            # d.has_key
 
816
            # d.has_key
 
817
            # d.has_key
 
818
 
 
819
            d.items
 
820
            d.items
 
821
            d.items
 
822
            d.items
 
823
            d.items
 
824
 
 
825
            d.get
 
826
            d.get
 
827
            d.get
 
828
            d.get
 
829
            d.get
 
830
 
 
831
            l.append
 
832
            l.append
 
833
            l.append
 
834
            l.append
 
835
            l.append
 
836
 
 
837
            l.insert
 
838
            l.insert
 
839
            l.insert
 
840
            l.insert
 
841
            l.insert
 
842
 
 
843
            l.sort
 
844
            l.sort
 
845
            l.sort
 
846
            l.sort
 
847
            l.sort
 
848
 
 
849
            # d.has_key
 
850
            # d.has_key
 
851
            # d.has_key
 
852
            # d.has_key
 
853
            # d.has_key
 
854
 
 
855
            d.items
 
856
            d.items
 
857
            d.items
 
858
            d.items
 
859
            d.items
 
860
 
 
861
            d.get
 
862
            d.get
 
863
            d.get
 
864
            d.get
 
865
            d.get
 
866
 
 
867
            l.append
 
868
            l.append
 
869
            l.append
 
870
            l.append
 
871
            l.append
 
872
 
 
873
            l.insert
 
874
            l.insert
 
875
            l.insert
 
876
            l.insert
 
877
            l.insert
 
878
 
 
879
            l.sort
 
880
            l.sort
 
881
            l.sort
 
882
            l.sort
 
883
            l.sort
 
884
 
 
885
            # d.has_key
 
886
            # d.has_key
 
887
            # d.has_key
 
888
            # d.has_key
 
889
            # d.has_key
 
890
 
 
891
            d.items
 
892
            d.items
 
893
            d.items
 
894
            d.items
 
895
            d.items
 
896
 
 
897
            d.get
 
898
            d.get
 
899
            d.get
 
900
            d.get
 
901
            d.get
 
902
 
 
903
            l.append
 
904
            l.append
 
905
            l.append
 
906
            l.append
 
907
            l.append
 
908
 
 
909
            l.insert
 
910
            l.insert
 
911
            l.insert
 
912
            l.insert
 
913
            l.insert
 
914
 
 
915
            l.sort
 
916
            l.sort
 
917
            l.sort
 
918
            l.sort
 
919
            l.sort
 
920
 
 
921
            # d.has_key
 
922
            # d.has_key
 
923
            # d.has_key
 
924
            # d.has_key
 
925
            # d.has_key
 
926
 
 
927
            d.items
 
928
            d.items
 
929
            d.items
 
930
            d.items
 
931
            d.items
 
932
 
 
933
            d.get
 
934
            d.get
 
935
            d.get
 
936
            d.get
 
937
            d.get
 
938
 
 
939
    def calibrate(self):
 
940
 
 
941
        l = []
 
942
        d = {}
 
943
 
 
944
        for i in range(self.rounds):
 
945
            pass