Skip to content

Commit 102cfb0

Browse files
committed
updated performance runner to use __init__() instead of pre()
1 parent 440ec4d commit 102cfb0

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

performance/__main__.py

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class Perf:
4343
#-------------------------------------------------------------------------------
4444
class 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
#-------------------------------------------------------------------------------
5959
class 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
#-------------------------------------------------------------------------------
7575
class 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
#-------------------------------------------------------------------------------
9595
class 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
#-------------------------------------------------------------------------------
112112
class 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
#-------------------------------------------------------------------------------
130130
class 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
#-------------------------------------------------------------------------------
147147
class 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
#-------------------------------------------------------------------------------
165165
class 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):
236236
class 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):
257257
class 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):
296296
class 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

Comments
 (0)