@@ -43,7 +43,7 @@ class Perf:
43
43
#-------------------------------------------------------------------------------
44
44
class MLoc (Perf ):
45
45
46
- def pre (self ):
46
+ def __init__ (self ):
47
47
self .array = np .arange (100 )
48
48
49
49
def main (self ):
@@ -58,7 +58,7 @@ class MLocREF(MLoc):
58
58
#-------------------------------------------------------------------------------
59
59
class ImmutableFilter (Perf ):
60
60
61
- def pre (self ):
61
+ def __init__ (self ):
62
62
self .array = np .arange (100 )
63
63
64
64
def main (self ):
@@ -74,7 +74,7 @@ class ImmutableFilterREF(ImmutableFilter):
74
74
#-------------------------------------------------------------------------------
75
75
class NameFilter (Perf ):
76
76
77
- def pre (self ):
77
+ def __init__ (self ):
78
78
self .name1 = ('foo' , None , ['bar' ])
79
79
self .name2 = 'foo'
80
80
@@ -94,7 +94,7 @@ class NameFilterREF(NameFilter):
94
94
#-------------------------------------------------------------------------------
95
95
class ShapeFilter (Perf ):
96
96
97
- def pre (self ):
97
+ def __init__ (self ):
98
98
self .array1 = np .arange (100 )
99
99
self .array2 = self .array1 .reshape (20 , 5 )
100
100
@@ -111,7 +111,7 @@ class ShapeFilterREF(ShapeFilter):
111
111
#-------------------------------------------------------------------------------
112
112
class Column2DFilter (Perf ):
113
113
114
- def pre (self ):
114
+ def __init__ (self ):
115
115
self .array1 = np .arange (100 )
116
116
self .array2 = self .array1 .reshape (20 , 5 )
117
117
@@ -129,7 +129,7 @@ class Column2DFilterREF(Column2DFilter):
129
129
#-------------------------------------------------------------------------------
130
130
class Column1DFilter (Perf ):
131
131
132
- def pre (self ):
132
+ def __init__ (self ):
133
133
self .array1 = np .arange (100 )
134
134
self .array2 = self .array1 .reshape (100 , 1 )
135
135
@@ -146,7 +146,7 @@ class Column1DFilterREF(Column1DFilter):
146
146
#-------------------------------------------------------------------------------
147
147
class Row1DFilter (Perf ):
148
148
149
- def pre (self ):
149
+ def __init__ (self ):
150
150
self .array1 = np .arange (100 )
151
151
self .array2 = self .array1 .reshape (1 , 100 )
152
152
@@ -164,7 +164,7 @@ class Row1DFilterREF(Row1DFilter):
164
164
#-------------------------------------------------------------------------------
165
165
class ResolveDType (Perf ):
166
166
167
- def pre (self ):
167
+ def __init__ (self ):
168
168
self .dtype1 = np .arange (100 ).dtype
169
169
self .dtype2 = np .array (('a' , 'b' )).dtype
170
170
@@ -184,7 +184,7 @@ class ResolveDTypeIter(Perf):
184
184
FUNCTIONS = ('iter10' , 'iter100000' )
185
185
NUMBER = 1000
186
186
187
- def pre (self ):
187
+ def __init__ (self ):
188
188
self .dtypes10 = [np .dtype (int )] * 9 + [np .dtype (float )]
189
189
self .dtypes100000 = (
190
190
[np .dtype (int )] * 50000 +
@@ -210,7 +210,7 @@ class ArrayDeepcopy(Perf):
210
210
FUNCTIONS = ('memo_new' , 'memo_shared' )
211
211
NUMBER = 500
212
212
213
- def pre (self ):
213
+ def __init__ (self ):
214
214
self .array1 = np .arange (100_000 )
215
215
self .array2 = np .full (100_000 , None )
216
216
self .array2 [0 ] = [np .nan ] # add a mutable
@@ -236,7 +236,7 @@ class ArrayDeepcopyREF(ArrayDeepcopy):
236
236
class ArrayGOPerf (Perf ):
237
237
NUMBER = 1000
238
238
239
- def pre (self ):
239
+ def __init__ (self ):
240
240
self .array = np .arange (100 ).astype (object )
241
241
242
242
def main (self ):
@@ -257,7 +257,7 @@ class ArrayGOPerfREF(ArrayGOPerf):
257
257
class DtypeFromElementPerf (Perf ):
258
258
NUMBER = 1000
259
259
260
- def pre (self ):
260
+ def __init__ (self ):
261
261
NT = collections .namedtuple ('NT' , tuple ('abc' ))
262
262
263
263
self .values = [
@@ -296,7 +296,7 @@ class DtypeFromElementPerfREF(DtypeFromElementPerf):
296
296
class IsNaElementPerf (Perf ):
297
297
NUMBER = 1000
298
298
299
- def pre (self ):
299
+ def __init__ (self ):
300
300
class FloatSubclass (float ): pass
301
301
class ComplexSubclass (complex ): pass
302
302
@@ -391,7 +391,8 @@ def main():
391
391
results = {}
392
392
for key , cls_runner in cls_map .items ():
393
393
runner = cls_runner ()
394
- runner .pre ()
394
+ if hasattr (runner , 'pre' ): #TEMP, for branches
395
+ raise RuntimeError ('convert your pre() method to __init__()' )
395
396
f = getattr (runner , func_attr )
396
397
results [key ] = timeit .timeit ('f()' ,
397
398
globals = locals (),
0 commit comments