Skip to content

Commit 1470654

Browse files
committed
BENCH: Rename bench_avx.py to bench_ufunc_strides.py
This test should not be exclusive to AVX. this patch also extends unary test to cover different sets of output strides.
1 parent 968288a commit 1470654

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

benchmarks/benchmarks/bench_avx.py benchmarks/benchmarks/bench_ufunc_strides.py

+9-7
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import numpy as np
44

5-
avx_ufuncs = ['sin',
5+
unary_ufuncs = ['sin',
66
'cos',
77
'exp',
88
'log',
@@ -20,24 +20,26 @@
2020
'isinf',
2121
'signbit']
2222
stride = [1, 2, 4]
23+
stride_out = [1, 2, 4]
2324
dtype = ['f', 'd']
2425

25-
class AVX_UFunc(Benchmark):
26-
params = [avx_ufuncs, stride, dtype]
27-
param_names = ['avx_based_ufunc', 'stride', 'dtype']
26+
class Unary(Benchmark):
27+
params = [unary_ufuncs, stride, stride_out, dtype]
28+
param_names = ['ufunc', 'stride_in', 'stride_out', 'dtype']
2829
timeout = 10
2930

30-
def setup(self, ufuncname, stride, dtype):
31+
def setup(self, ufuncname, stride, stride_out, dtype):
3132
np.seterr(all='ignore')
3233
try:
3334
self.f = getattr(np, ufuncname)
3435
except AttributeError:
3536
raise NotImplementedError()
3637
N = 10000
3738
self.arr = np.ones(stride*N, dtype)
39+
self.arr_out = np.empty(stride_out*N, dtype)
3840

39-
def time_ufunc(self, ufuncname, stride, dtype):
40-
self.f(self.arr[::stride])
41+
def time_ufunc(self, ufuncname, stride, stride_out, dtype):
42+
self.f(self.arr[::stride], self.arr_out[::stride_out])
4143

4244
class AVX_UFunc_log(Benchmark):
4345
params = [stride, dtype]

0 commit comments

Comments
 (0)