diff options
author | Raghuveer Devulapalli <raghuveer.devulapalli@intel.com> | 2019-07-01 13:38:09 -0700 |
---|---|---|
committer | Raghuveer Devulapalli <raghuveer.devulapalli@intel.com> | 2019-10-08 09:53:37 -0700 |
commit | 5323bbfc15f320ac5b9c4b3bece6394f5bf74ee2 (patch) | |
tree | 649659335c90b238b0b8ad765fc1cf7a2d987cfd | |
parent | 5ee46de530005d0dcbe2e1e386b30f06477f8d7c (diff) | |
download | numpy-5323bbfc15f320ac5b9c4b3bece6394f5bf74ee2.tar.gz |
BENCH: adding benchmarks for avx based ufuncs
-rw-r--r-- | benchmarks/benchmarks/bench_avx.py | 34 |
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]) + |