summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaghuveer Devulapalli <raghuveer.devulapalli@intel.com>2019-07-01 13:38:09 -0700
committerRaghuveer Devulapalli <raghuveer.devulapalli@intel.com>2019-10-08 09:53:37 -0700
commit5323bbfc15f320ac5b9c4b3bece6394f5bf74ee2 (patch)
tree649659335c90b238b0b8ad765fc1cf7a2d987cfd
parent5ee46de530005d0dcbe2e1e386b30f06477f8d7c (diff)
downloadnumpy-5323bbfc15f320ac5b9c4b3bece6394f5bf74ee2.tar.gz
BENCH: adding benchmarks for avx based ufuncs
-rw-r--r--benchmarks/benchmarks/bench_avx.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/benchmarks/benchmarks/bench_avx.py b/benchmarks/benchmarks/bench_avx.py
new file mode 100644
index 000000000..f7b524e43
--- /dev/null
+++ b/benchmarks/benchmarks/bench_avx.py
@@ -0,0 +1,34 @@
+from __future__ import absolute_import, division, print_function
+
+from .common import Benchmark
+
+import numpy as np
+
+avx_ufuncs = ['sqrt',
+ 'absolute',
+ 'reciprocal',
+ 'square',
+ 'rint',
+ 'floor',
+ 'ceil' ,
+ 'trunc']
+stride = [1, 2, 4]
+dtype = ['f', 'd']
+
+class AVX_UFunc(Benchmark):
+ params = [avx_ufuncs, stride, dtype]
+ param_names = ['avx_based_ufunc', 'stride', 'dtype']
+ timeout = 10
+
+ def setup(self, ufuncname, stride, dtype):
+ np.seterr(all='ignore')
+ try:
+ self.f = getattr(np, ufuncname)
+ except AttributeError:
+ raise NotImplementedError()
+ N = 10000
+ self.arr = np.ones(stride*N, dtype)
+
+ def time_ufunc(self, ufuncname, stride, dtype):
+ self.f(self.arr[::stride])
+