summaryrefslogtreecommitdiff
path: root/benchmarks
diff options
context:
space:
mode:
authorJohn Kirkham <kirkhamj@janelia.hhmi.org>2016-01-06 11:22:19 -0500
committerJohn Kirkham <kirkhamj@janelia.hhmi.org>2016-01-06 15:03:13 -0500
commit8d8a74d8b2f86d2548a04565744ab122537a4f62 (patch)
tree1280082cdbfca17d35e9982ece77f430c4c36438 /benchmarks
parent01acef82fdd02c968601b41d27f3ac6461dbc459 (diff)
downloadnumpy-8d8a74d8b2f86d2548a04565744ab122537a4f62.tar.gz
BENCH: Add benchmarks between an array and its transpose that share data, which should be optimized, versus the same configuration without shared data.
Diffstat (limited to 'benchmarks')
-rw-r--r--benchmarks/benchmarks/bench_linalg.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/benchmarks/benchmarks/bench_linalg.py b/benchmarks/benchmarks/bench_linalg.py
index a323609b7..c230d985a 100644
--- a/benchmarks/benchmarks/bench_linalg.py
+++ b/benchmarks/benchmarks/bench_linalg.py
@@ -8,6 +8,8 @@ import numpy as np
class Eindot(Benchmark):
def setup(self):
self.a = np.arange(60000.0).reshape(150, 400)
+ self.at = self.a.T
+ self.atc = self.a.T.copy()
self.b = np.arange(240000.0).reshape(400, 600)
self.c = np.arange(600)
self.d = np.arange(400)
@@ -21,6 +23,18 @@ class Eindot(Benchmark):
def time_dot_a_b(self):
np.dot(self.a, self.b)
+ def time_dot_trans_a_at(self):
+ np.dot(self.a, self.at)
+
+ def time_dot_trans_a_atc(self):
+ np.dot(self.a, self.atc)
+
+ def time_dot_trans_at_a(self):
+ np.dot(self.at, self.a)
+
+ def time_dot_trans_atc_a(self):
+ np.dot(self.atc, self.a)
+
def time_einsum_i_ij_j(self):
np.einsum('i,ij,j', self.d, self.b, self.c)