blob: 9506da484c9c5f48ef79044c1ddaf296246ef93e [file] [log] [blame]
Thomas Wouters477c8d52006-05-27 19:21:47 +00001from pybench import Test
2
Thomas Wouters0e3f5912006-08-11 14:57:12 +00003# Check for new-style class support:
4try:
5 class c(object):
6 pass
7except NameError:
8 raise ImportError
9
10###
11
Thomas Wouters477c8d52006-05-27 19:21:47 +000012class CreateNewInstances(Test):
13
Thomas Wouters0e3f5912006-08-11 14:57:12 +000014 version = 2.0
Thomas Wouters477c8d52006-05-27 19:21:47 +000015 operations = 3 + 7 + 4
16 rounds = 60000
17
18 def test(self):
19
20 class c(object):
21 pass
22
23 class d(object):
24 def __init__(self,a,b,c):
25 self.a = a
26 self.b = b
27 self.c = c
28
29 class e(object):
30 def __init__(self,a,b,c=4):
31 self.a = a
32 self.b = b
33 self.c = c
34 self.d = a
35 self.e = b
36 self.f = c
37
Guido van Rossum805365e2007-05-07 22:24:25 +000038 for i in range(self.rounds):
Thomas Wouters477c8d52006-05-27 19:21:47 +000039 o = c()
40 o1 = c()
41 o2 = c()
42 p = d(i,i,3)
43 p1 = d(i,i,3)
44 p2 = d(i,3,3)
45 p3 = d(3,i,3)
46 p4 = d(i,i,i)
47 p5 = d(3,i,3)
48 p6 = d(i,i,i)
49 q = e(i,i,3)
50 q1 = e(i,i,3)
51 q2 = e(i,i,3)
52 q3 = e(i,i)
53
54 def calibrate(self):
55
56 class c(object):
57 pass
58
59 class d(object):
60 def __init__(self,a,b,c):
61 self.a = a
62 self.b = b
63 self.c = c
64
65 class e(object):
66 def __init__(self,a,b,c=4):
67 self.a = a
68 self.b = b
69 self.c = c
70 self.d = a
71 self.e = b
72 self.f = c
73
Guido van Rossum805365e2007-05-07 22:24:25 +000074 for i in range(self.rounds):
Thomas Wouters477c8d52006-05-27 19:21:47 +000075 pass