Skip to content

Commit af13636

Browse files
committed
BENCH: add correlate/convolve benchmarks.
Related to numpygh-5978, which makes significant changes to these functions.
1 parent e6593fb commit af13636

File tree

1 file changed

+44
-27
lines changed

1 file changed

+44
-27
lines changed

benchmarks/benchmarks/bench_core.py

+44-27
Original file line numberDiff line numberDiff line change
@@ -2,78 +2,78 @@
22

33
from .common import Benchmark
44

5-
import numpy
5+
import numpy as np
66

77

88
class Core(Benchmark):
99
def setup(self):
1010
self.l100 = range(100)
1111
self.l50 = range(50)
12-
self.l = [numpy.arange(1000), numpy.arange(1000)]
13-
self.l10x10 = numpy.ones((10, 10))
12+
self.l = [np.arange(1000), np.arange(1000)]
13+
self.l10x10 = np.ones((10, 10))
1414

1515
def time_array_1(self):
16-
numpy.array(1)
16+
np.array(1)
1717

1818
def time_array_empty(self):
19-
numpy.array([])
19+
np.array([])
2020

2121
def time_array_l1(self):
22-
numpy.array([1])
22+
np.array([1])
2323

2424
def time_array_l100(self):
25-
numpy.array(self.l100)
25+
np.array(self.l100)
2626

2727
def time_array_l(self):
28-
numpy.array(self.l)
28+
np.array(self.l)
2929

3030
def time_vstack_l(self):
31-
numpy.vstack(self.l)
31+
np.vstack(self.l)
3232

3333
def time_hstack_l(self):
34-
numpy.hstack(self.l)
34+
np.hstack(self.l)
3535

3636
def time_dstack_l(self):
37-
numpy.dstack(self.l)
37+
np.dstack(self.l)
3838

3939
def time_arange_100(self):
40-
numpy.arange(100)
40+
np.arange(100)
4141

4242
def time_zeros_100(self):
43-
numpy.zeros(100)
43+
np.zeros(100)
4444

4545
def time_ones_100(self):
46-
numpy.ones(100)
46+
np.ones(100)
4747

4848
def time_empty_100(self):
49-
numpy.empty(100)
49+
np.empty(100)
5050

5151
def time_eye_100(self):
52-
numpy.eye(100)
52+
np.eye(100)
5353

5454
def time_identity_100(self):
55-
numpy.identity(100)
55+
np.identity(100)
5656

5757
def time_eye_3000(self):
58-
numpy.eye(3000)
58+
np.eye(3000)
5959

6060
def time_identity_3000(self):
61-
numpy.identity(3000)
61+
np.identity(3000)
6262

6363
def time_diag_l100(self):
64-
numpy.diag(self.l100)
64+
np.diag(self.l100)
6565

6666
def time_diagflat_l100(self):
67-
numpy.diagflat(self.l100)
67+
np.diagflat(self.l100)
6868

6969
def time_diagflat_l50_l50(self):
70-
numpy.diagflat([self.l50, self.l50])
70+
np.diagflat([self.l50, self.l50])
7171

7272
def time_triu_l10x10(self):
73-
numpy.triu(self.l10x10)
73+
np.triu(self.l10x10)
7474

7575
def time_tril_l10x10(self):
76-
numpy.tril(self.l10x10)
76+
np.tril(self.l10x10)
7777

7878

7979
class MA(Benchmark):
@@ -82,10 +82,27 @@ def setup(self):
8282
self.t100 = ([True] * 100)
8383

8484
def time_masked_array(self):
85-
numpy.ma.masked_array()
85+
np.ma.masked_array()
8686

8787
def time_masked_array_l100(self):
88-
numpy.ma.masked_array(self.l100)
88+
np.ma.masked_array(self.l100)
8989

9090
def time_masked_array_l100_t100(self):
91-
numpy.ma.masked_array(self.l100, self.t100)
91+
np.ma.masked_array(self.l100, self.t100)
92+
93+
94+
class CorrConv(Benchmark):
95+
params = [[50, 1000, 1e5],
96+
[10, 100, 1000, 1e4],
97+
['valid', 'same', 'full']]
98+
param_names = ['size1', 'size2', 'mode']
99+
100+
def setup(self, size1, size2, mode):
101+
self.x1 = np.linspace(0, 1, num=size1)
102+
self.x2 = np.cos(np.linspace(0, 2*np.pi, num=size2))
103+
104+
def time_correlate(self, size1, size2, mode):
105+
np.correlate(self.x1, self.x2, mode=mode)
106+
107+
def time_convolve(self, size1, size2, mode):
108+
np.convolve(self.x1, self.x2, mode=mode)

0 commit comments

Comments
 (0)