@@ -43,7 +43,7 @@ class Perf:
4343#-------------------------------------------------------------------------------
4444class MLoc (Perf ):
4545
46- def pre (self ):
46+ def __init__ (self ):
4747 self .array = np .arange (100 )
4848
4949 def main (self ):
@@ -58,7 +58,7 @@ class MLocREF(MLoc):
5858#-------------------------------------------------------------------------------
5959class ImmutableFilter (Perf ):
6060
61- def pre (self ):
61+ def __init__ (self ):
6262 self .array = np .arange (100 )
6363
6464 def main (self ):
@@ -74,7 +74,7 @@ class ImmutableFilterREF(ImmutableFilter):
7474#-------------------------------------------------------------------------------
7575class NameFilter (Perf ):
7676
77- def pre (self ):
77+ def __init__ (self ):
7878 self .name1 = ('foo' , None , ['bar' ])
7979 self .name2 = 'foo'
8080
@@ -94,7 +94,7 @@ class NameFilterREF(NameFilter):
9494#-------------------------------------------------------------------------------
9595class ShapeFilter (Perf ):
9696
97- def pre (self ):
97+ def __init__ (self ):
9898 self .array1 = np .arange (100 )
9999 self .array2 = self .array1 .reshape (20 , 5 )
100100
@@ -111,7 +111,7 @@ class ShapeFilterREF(ShapeFilter):
111111#-------------------------------------------------------------------------------
112112class Column2DFilter (Perf ):
113113
114- def pre (self ):
114+ def __init__ (self ):
115115 self .array1 = np .arange (100 )
116116 self .array2 = self .array1 .reshape (20 , 5 )
117117
@@ -129,7 +129,7 @@ class Column2DFilterREF(Column2DFilter):
129129#-------------------------------------------------------------------------------
130130class Column1DFilter (Perf ):
131131
132- def pre (self ):
132+ def __init__ (self ):
133133 self .array1 = np .arange (100 )
134134 self .array2 = self .array1 .reshape (100 , 1 )
135135
@@ -146,7 +146,7 @@ class Column1DFilterREF(Column1DFilter):
146146#-------------------------------------------------------------------------------
147147class Row1DFilter (Perf ):
148148
149- def pre (self ):
149+ def __init__ (self ):
150150 self .array1 = np .arange (100 )
151151 self .array2 = self .array1 .reshape (1 , 100 )
152152
@@ -164,7 +164,7 @@ class Row1DFilterREF(Row1DFilter):
164164#-------------------------------------------------------------------------------
165165class ResolveDType (Perf ):
166166
167- def pre (self ):
167+ def __init__ (self ):
168168 self .dtype1 = np .arange (100 ).dtype
169169 self .dtype2 = np .array (('a' , 'b' )).dtype
170170
@@ -184,7 +184,7 @@ class ResolveDTypeIter(Perf):
184184 FUNCTIONS = ('iter10' , 'iter100000' )
185185 NUMBER = 1000
186186
187- def pre (self ):
187+ def __init__ (self ):
188188 self .dtypes10 = [np .dtype (int )] * 9 + [np .dtype (float )]
189189 self .dtypes100000 = (
190190 [np .dtype (int )] * 50000 +
@@ -210,7 +210,7 @@ class ArrayDeepcopy(Perf):
210210 FUNCTIONS = ('memo_new' , 'memo_shared' )
211211 NUMBER = 500
212212
213- def pre (self ):
213+ def __init__ (self ):
214214 self .array1 = np .arange (100_000 )
215215 self .array2 = np .full (100_000 , None )
216216 self .array2 [0 ] = [np .nan ] # add a mutable
@@ -236,7 +236,7 @@ class ArrayDeepcopyREF(ArrayDeepcopy):
236236class ArrayGOPerf (Perf ):
237237 NUMBER = 1000
238238
239- def pre (self ):
239+ def __init__ (self ):
240240 self .array = np .arange (100 ).astype (object )
241241
242242 def main (self ):
@@ -257,7 +257,7 @@ class ArrayGOPerfREF(ArrayGOPerf):
257257class DtypeFromElementPerf (Perf ):
258258 NUMBER = 1000
259259
260- def pre (self ):
260+ def __init__ (self ):
261261 NT = collections .namedtuple ('NT' , tuple ('abc' ))
262262
263263 self .values = [
@@ -296,7 +296,7 @@ class DtypeFromElementPerfREF(DtypeFromElementPerf):
296296class IsNaElementPerf (Perf ):
297297 NUMBER = 1000
298298
299- def pre (self ):
299+ def __init__ (self ):
300300 class FloatSubclass (float ): pass
301301 class ComplexSubclass (complex ): pass
302302
@@ -391,7 +391,8 @@ def main():
391391 results = {}
392392 for key , cls_runner in cls_map .items ():
393393 runner = cls_runner ()
394- runner .pre ()
394+ if hasattr (runner , 'pre' ): #TEMP, for branches
395+ raise RuntimeError ('convert your pre() method to __init__()' )
395396 f = getattr (runner , func_attr )
396397 results [key ] = timeit .timeit ('f()' ,
397398 globals = locals (),
0 commit comments