summaryrefslogtreecommitdiff
path: root/benchmarks
diff options
context:
space:
mode:
authorHameer Abbasi <hameerabbasi@yahoo.com>2019-01-02 14:27:09 +0100
committerHameer Abbasi <hameerabbasi@yahoo.com>2019-01-02 14:27:09 +0100
commit67bec8d62f67f8514a21294db0d5c34f0296f212 (patch)
treeddfc0e190cc37bce65d555077ff642e057d37278 /benchmarks
parent9a1d3f240bc43e75832f56044533e3b60d48f214 (diff)
downloadnumpy-67bec8d62f67f8514a21294db0d5c34f0296f212.tar.gz
Fix benchmark.
Diffstat (limited to 'benchmarks')
-rw-r--r--benchmarks/benchmarks/bench_core.py14
-rw-r--r--benchmarks/benchmarks/bench_function_base.py49
2 files changed, 30 insertions, 33 deletions
diff --git a/benchmarks/benchmarks/bench_core.py b/benchmarks/benchmarks/bench_core.py
index ac28e5b81..26cffcab1 100644
--- a/benchmarks/benchmarks/bench_core.py
+++ b/benchmarks/benchmarks/bench_core.py
@@ -11,9 +11,6 @@ class Core(Benchmark):
self.l50 = range(50)
self.l = [np.arange(1000), np.arange(1000)]
self.l10x10 = np.ones((10, 10))
- random = np.random.RandomState(123)
- self.arr = np.arange(10 ** 4)
- random.shuffle(self.arr)
def time_array_1(self):
np.array(1)
@@ -78,17 +75,6 @@ class Core(Benchmark):
def time_tril_l10x10(self):
np.tril(self.l10x10)
- def time_quicksort(self):
- np.sort(self.arr, kind='quick')
-
- def time_sorts(self, kind):
- try:
- np.sort(self.arr, kind=kind)
- except TypeError:
- raise NotImplementedError('Sort kind not implemented or invalid dtype')
-
- time_sorts.params = ['quick', 'merge', 'heap', 'radix']
-
class Temporaries(Benchmark):
def setup(self):
diff --git a/benchmarks/benchmarks/bench_function_base.py b/benchmarks/benchmarks/bench_function_base.py
index 9ef03262b..a37656542 100644
--- a/benchmarks/benchmarks/bench_function_base.py
+++ b/benchmarks/benchmarks/bench_function_base.py
@@ -96,35 +96,46 @@ class Select(Benchmark):
class Sort(Benchmark):
- def setup(self):
- self.e = np.arange(10000, dtype=np.float32)
- self.o = np.arange(10001, dtype=np.float32)
+ params = [
+ ['quick', 'merge', 'heap', 'radix', None],
+ ['float32', 'int32', 'uint32']
+ ]
+ param_names = ['kind', 'dtype']
+
+ def setup(self, kind, dtype):
+ self.e = np.arange(10000, dtype=dtype)
+ self.o = np.arange(10001, dtype=dtype)
np.random.seed(25)
np.random.shuffle(self.o)
# quicksort implementations can have issues with equal elements
- self.equal = np.ones(10000)
- self.many_equal = np.sort(np.arange(10000) % 10)
+ self.equal = np.ones(10000, dtype=dtype)
+ self.many_equal = np.sort(np.arange(10000) % 10).astype(dtype)
+
+ try:
+ np.sort(self.e, kind=kind)
+ except TypeError:
+ raise NotImplementedError()
- def time_sort(self):
- np.sort(self.e)
+ def time_sort(self, kind, dtype):
+ np.sort(self.e, kind=kind)
- def time_sort_random(self):
- np.sort(self.o)
+ def time_sort_random(self, kind, dtype):
+ np.sort(self.o, kind=kind)
- def time_sort_inplace(self):
- self.e.sort()
+ def time_sort_inplace(self, kind, dtype):
+ self.e.sort(kind=kind)
- def time_sort_equal(self):
- self.equal.sort()
+ def time_sort_equal(self, kind, dtype):
+ self.equal.sort(kind=kind)
- def time_sort_many_equal(self):
- self.many_equal.sort()
+ def time_sort_many_equal(self, kind, dtype):
+ self.many_equal.sort(kind=kind)
- def time_argsort(self):
- self.e.argsort()
+ def time_argsort(self, kind, dtype):
+ self.e.argsort(kind=kind)
- def time_argsort_random(self):
- self.o.argsort()
+ def time_argsort_random(self, kind, dtype):
+ self.o.argsort(kind=kind)
class SortWorst(Benchmark):