Issue #5788: `datetime.timedelta` objects get a new `total_seconds()` method returning
[python.git] / Tools / pybench / Lookups.py
blobf20e7da49c01a31f72a68d5b26ab2da8d929f380
1 from pybench import Test
3 class SpecialClassAttribute(Test):
5 version = 2.0
6 operations = 5*(12 + 12)
7 rounds = 100000
9 def test(self):
11 class c:
12 pass
14 for i in xrange(self.rounds):
16 c.__a = 2
17 c.__b = 3
18 c.__c = 4
20 c.__a = 2
21 c.__b = 3
22 c.__c = 4
24 c.__a = 2
25 c.__b = 3
26 c.__c = 4
28 c.__a = 2
29 c.__b = 3
30 c.__c = 4
32 x = c.__a
33 x = c.__b
34 x = c.__c
36 x = c.__a
37 x = c.__b
38 x = c.__c
40 x = c.__a
41 x = c.__b
42 x = c.__c
44 x = c.__a
45 x = c.__b
46 x = c.__c
48 c.__a = 2
49 c.__b = 3
50 c.__c = 4
52 c.__a = 2
53 c.__b = 3
54 c.__c = 4
56 c.__a = 2
57 c.__b = 3
58 c.__c = 4
60 c.__a = 2
61 c.__b = 3
62 c.__c = 4
64 x = c.__a
65 x = c.__b
66 x = c.__c
68 x = c.__a
69 x = c.__b
70 x = c.__c
72 x = c.__a
73 x = c.__b
74 x = c.__c
76 x = c.__a
77 x = c.__b
78 x = c.__c
80 c.__a = 2
81 c.__b = 3
82 c.__c = 4
84 c.__a = 2
85 c.__b = 3
86 c.__c = 4
88 c.__a = 2
89 c.__b = 3
90 c.__c = 4
92 c.__a = 2
93 c.__b = 3
94 c.__c = 4
96 x = c.__a
97 x = c.__b
98 x = c.__c
100 x = c.__a
101 x = c.__b
102 x = c.__c
104 x = c.__a
105 x = c.__b
106 x = c.__c
108 x = c.__a
109 x = c.__b
110 x = c.__c
112 c.__a = 2
113 c.__b = 3
114 c.__c = 4
116 c.__a = 2
117 c.__b = 3
118 c.__c = 4
120 c.__a = 2
121 c.__b = 3
122 c.__c = 4
124 c.__a = 2
125 c.__b = 3
126 c.__c = 4
128 x = c.__a
129 x = c.__b
130 x = c.__c
132 x = c.__a
133 x = c.__b
134 x = c.__c
136 x = c.__a
137 x = c.__b
138 x = c.__c
140 x = c.__a
141 x = c.__b
142 x = c.__c
144 c.__a = 2
145 c.__b = 3
146 c.__c = 4
148 c.__a = 2
149 c.__b = 3
150 c.__c = 4
152 c.__a = 2
153 c.__b = 3
154 c.__c = 4
156 c.__a = 2
157 c.__b = 3
158 c.__c = 4
160 x = c.__a
161 x = c.__b
162 x = c.__c
164 x = c.__a
165 x = c.__b
166 x = c.__c
168 x = c.__a
169 x = c.__b
170 x = c.__c
172 x = c.__a
173 x = c.__b
174 x = c.__c
176 def calibrate(self):
178 class c:
179 pass
181 for i in xrange(self.rounds):
182 pass
184 class NormalClassAttribute(Test):
186 version = 2.0
187 operations = 5*(12 + 12)
188 rounds = 100000
190 def test(self):
192 class c:
193 pass
195 for i in xrange(self.rounds):
197 c.a = 2
198 c.b = 3
199 c.c = 4
201 c.a = 2
202 c.b = 3
203 c.c = 4
205 c.a = 2
206 c.b = 3
207 c.c = 4
209 c.a = 2
210 c.b = 3
211 c.c = 4
214 x = c.a
215 x = c.b
216 x = c.c
218 x = c.a
219 x = c.b
220 x = c.c
222 x = c.a
223 x = c.b
224 x = c.c
226 x = c.a
227 x = c.b
228 x = c.c
230 c.a = 2
231 c.b = 3
232 c.c = 4
234 c.a = 2
235 c.b = 3
236 c.c = 4
238 c.a = 2
239 c.b = 3
240 c.c = 4
242 c.a = 2
243 c.b = 3
244 c.c = 4
247 x = c.a
248 x = c.b
249 x = c.c
251 x = c.a
252 x = c.b
253 x = c.c
255 x = c.a
256 x = c.b
257 x = c.c
259 x = c.a
260 x = c.b
261 x = c.c
263 c.a = 2
264 c.b = 3
265 c.c = 4
267 c.a = 2
268 c.b = 3
269 c.c = 4
271 c.a = 2
272 c.b = 3
273 c.c = 4
275 c.a = 2
276 c.b = 3
277 c.c = 4
280 x = c.a
281 x = c.b
282 x = c.c
284 x = c.a
285 x = c.b
286 x = c.c
288 x = c.a
289 x = c.b
290 x = c.c
292 x = c.a
293 x = c.b
294 x = c.c
296 c.a = 2
297 c.b = 3
298 c.c = 4
300 c.a = 2
301 c.b = 3
302 c.c = 4
304 c.a = 2
305 c.b = 3
306 c.c = 4
308 c.a = 2
309 c.b = 3
310 c.c = 4
313 x = c.a
314 x = c.b
315 x = c.c
317 x = c.a
318 x = c.b
319 x = c.c
321 x = c.a
322 x = c.b
323 x = c.c
325 x = c.a
326 x = c.b
327 x = c.c
329 c.a = 2
330 c.b = 3
331 c.c = 4
333 c.a = 2
334 c.b = 3
335 c.c = 4
337 c.a = 2
338 c.b = 3
339 c.c = 4
341 c.a = 2
342 c.b = 3
343 c.c = 4
346 x = c.a
347 x = c.b
348 x = c.c
350 x = c.a
351 x = c.b
352 x = c.c
354 x = c.a
355 x = c.b
356 x = c.c
358 x = c.a
359 x = c.b
360 x = c.c
362 def calibrate(self):
364 class c:
365 pass
367 for i in xrange(self.rounds):
368 pass
370 class SpecialInstanceAttribute(Test):
372 version = 2.0
373 operations = 5*(12 + 12)
374 rounds = 100000
376 def test(self):
378 class c:
379 pass
380 o = c()
382 for i in xrange(self.rounds):
384 o.__a__ = 2
385 o.__b__ = 3
386 o.__c__ = 4
388 o.__a__ = 2
389 o.__b__ = 3
390 o.__c__ = 4
392 o.__a__ = 2
393 o.__b__ = 3
394 o.__c__ = 4
396 o.__a__ = 2
397 o.__b__ = 3
398 o.__c__ = 4
401 x = o.__a__
402 x = o.__b__
403 x = o.__c__
405 x = o.__a__
406 x = o.__b__
407 x = o.__c__
409 x = o.__a__
410 x = o.__b__
411 x = o.__c__
413 x = o.__a__
414 x = o.__b__
415 x = o.__c__
417 o.__a__ = 2
418 o.__b__ = 3
419 o.__c__ = 4
421 o.__a__ = 2
422 o.__b__ = 3
423 o.__c__ = 4
425 o.__a__ = 2
426 o.__b__ = 3
427 o.__c__ = 4
429 o.__a__ = 2
430 o.__b__ = 3
431 o.__c__ = 4
434 x = o.__a__
435 x = o.__b__
436 x = o.__c__
438 x = o.__a__
439 x = o.__b__
440 x = o.__c__
442 x = o.__a__
443 x = o.__b__
444 x = o.__c__
446 x = o.__a__
447 x = o.__b__
448 x = o.__c__
450 o.__a__ = 2
451 o.__b__ = 3
452 o.__c__ = 4
454 o.__a__ = 2
455 o.__b__ = 3
456 o.__c__ = 4
458 o.__a__ = 2
459 o.__b__ = 3
460 o.__c__ = 4
462 o.__a__ = 2
463 o.__b__ = 3
464 o.__c__ = 4
467 x = o.__a__
468 x = o.__b__
469 x = o.__c__
471 x = o.__a__
472 x = o.__b__
473 x = o.__c__
475 x = o.__a__
476 x = o.__b__
477 x = o.__c__
479 x = o.__a__
480 x = o.__b__
481 x = o.__c__
483 o.__a__ = 2
484 o.__b__ = 3
485 o.__c__ = 4
487 o.__a__ = 2
488 o.__b__ = 3
489 o.__c__ = 4
491 o.__a__ = 2
492 o.__b__ = 3
493 o.__c__ = 4
495 o.__a__ = 2
496 o.__b__ = 3
497 o.__c__ = 4
500 x = o.__a__
501 x = o.__b__
502 x = o.__c__
504 x = o.__a__
505 x = o.__b__
506 x = o.__c__
508 x = o.__a__
509 x = o.__b__
510 x = o.__c__
512 x = o.__a__
513 x = o.__b__
514 x = o.__c__
516 o.__a__ = 2
517 o.__b__ = 3
518 o.__c__ = 4
520 o.__a__ = 2
521 o.__b__ = 3
522 o.__c__ = 4
524 o.__a__ = 2
525 o.__b__ = 3
526 o.__c__ = 4
528 o.__a__ = 2
529 o.__b__ = 3
530 o.__c__ = 4
533 x = o.__a__
534 x = o.__b__
535 x = o.__c__
537 x = o.__a__
538 x = o.__b__
539 x = o.__c__
541 x = o.__a__
542 x = o.__b__
543 x = o.__c__
545 x = o.__a__
546 x = o.__b__
547 x = o.__c__
549 def calibrate(self):
551 class c:
552 pass
553 o = c()
555 for i in xrange(self.rounds):
556 pass
558 class NormalInstanceAttribute(Test):
560 version = 2.0
561 operations = 5*(12 + 12)
562 rounds = 100000
564 def test(self):
566 class c:
567 pass
568 o = c()
570 for i in xrange(self.rounds):
572 o.a = 2
573 o.b = 3
574 o.c = 4
576 o.a = 2
577 o.b = 3
578 o.c = 4
580 o.a = 2
581 o.b = 3
582 o.c = 4
584 o.a = 2
585 o.b = 3
586 o.c = 4
589 x = o.a
590 x = o.b
591 x = o.c
593 x = o.a
594 x = o.b
595 x = o.c
597 x = o.a
598 x = o.b
599 x = o.c
601 x = o.a
602 x = o.b
603 x = o.c
605 o.a = 2
606 o.b = 3
607 o.c = 4
609 o.a = 2
610 o.b = 3
611 o.c = 4
613 o.a = 2
614 o.b = 3
615 o.c = 4
617 o.a = 2
618 o.b = 3
619 o.c = 4
622 x = o.a
623 x = o.b
624 x = o.c
626 x = o.a
627 x = o.b
628 x = o.c
630 x = o.a
631 x = o.b
632 x = o.c
634 x = o.a
635 x = o.b
636 x = o.c
638 o.a = 2
639 o.b = 3
640 o.c = 4
642 o.a = 2
643 o.b = 3
644 o.c = 4
646 o.a = 2
647 o.b = 3
648 o.c = 4
650 o.a = 2
651 o.b = 3
652 o.c = 4
655 x = o.a
656 x = o.b
657 x = o.c
659 x = o.a
660 x = o.b
661 x = o.c
663 x = o.a
664 x = o.b
665 x = o.c
667 x = o.a
668 x = o.b
669 x = o.c
671 o.a = 2
672 o.b = 3
673 o.c = 4
675 o.a = 2
676 o.b = 3
677 o.c = 4
679 o.a = 2
680 o.b = 3
681 o.c = 4
683 o.a = 2
684 o.b = 3
685 o.c = 4
688 x = o.a
689 x = o.b
690 x = o.c
692 x = o.a
693 x = o.b
694 x = o.c
696 x = o.a
697 x = o.b
698 x = o.c
700 x = o.a
701 x = o.b
702 x = o.c
704 o.a = 2
705 o.b = 3
706 o.c = 4
708 o.a = 2
709 o.b = 3
710 o.c = 4
712 o.a = 2
713 o.b = 3
714 o.c = 4
716 o.a = 2
717 o.b = 3
718 o.c = 4
721 x = o.a
722 x = o.b
723 x = o.c
725 x = o.a
726 x = o.b
727 x = o.c
729 x = o.a
730 x = o.b
731 x = o.c
733 x = o.a
734 x = o.b
735 x = o.c
737 def calibrate(self):
739 class c:
740 pass
741 o = c()
743 for i in xrange(self.rounds):
744 pass
746 class BuiltinMethodLookup(Test):
748 version = 2.0
749 operations = 5*(3*5 + 3*5)
750 rounds = 70000
752 def test(self):
754 l = []
755 d = {}
757 for i in xrange(self.rounds):
759 l.append
760 l.append
761 l.append
762 l.append
763 l.append
765 l.insert
766 l.insert
767 l.insert
768 l.insert
769 l.insert
771 l.sort
772 l.sort
773 l.sort
774 l.sort
775 l.sort
777 d.has_key
778 d.has_key
779 d.has_key
780 d.has_key
781 d.has_key
783 d.items
784 d.items
785 d.items
786 d.items
787 d.items
789 d.get
790 d.get
791 d.get
792 d.get
793 d.get
795 l.append
796 l.append
797 l.append
798 l.append
799 l.append
801 l.insert
802 l.insert
803 l.insert
804 l.insert
805 l.insert
807 l.sort
808 l.sort
809 l.sort
810 l.sort
811 l.sort
813 d.has_key
814 d.has_key
815 d.has_key
816 d.has_key
817 d.has_key
819 d.items
820 d.items
821 d.items
822 d.items
823 d.items
825 d.get
826 d.get
827 d.get
828 d.get
829 d.get
831 l.append
832 l.append
833 l.append
834 l.append
835 l.append
837 l.insert
838 l.insert
839 l.insert
840 l.insert
841 l.insert
843 l.sort
844 l.sort
845 l.sort
846 l.sort
847 l.sort
849 d.has_key
850 d.has_key
851 d.has_key
852 d.has_key
853 d.has_key
855 d.items
856 d.items
857 d.items
858 d.items
859 d.items
861 d.get
862 d.get
863 d.get
864 d.get
865 d.get
867 l.append
868 l.append
869 l.append
870 l.append
871 l.append
873 l.insert
874 l.insert
875 l.insert
876 l.insert
877 l.insert
879 l.sort
880 l.sort
881 l.sort
882 l.sort
883 l.sort
885 d.has_key
886 d.has_key
887 d.has_key
888 d.has_key
889 d.has_key
891 d.items
892 d.items
893 d.items
894 d.items
895 d.items
897 d.get
898 d.get
899 d.get
900 d.get
901 d.get
903 l.append
904 l.append
905 l.append
906 l.append
907 l.append
909 l.insert
910 l.insert
911 l.insert
912 l.insert
913 l.insert
915 l.sort
916 l.sort
917 l.sort
918 l.sort
919 l.sort
921 d.has_key
922 d.has_key
923 d.has_key
924 d.has_key
925 d.has_key
927 d.items
928 d.items
929 d.items
930 d.items
931 d.items
933 d.get
934 d.get
935 d.get
936 d.get
937 d.get
939 def calibrate(self):
941 l = []
942 d = {}
944 for i in xrange(self.rounds):
945 pass