Skip to content

Commit 0dc8bb8

Browse files
committed
Fix csv generation for pytest
1 parent 7eadd50 commit 0dc8bb8

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

Makefile

+7-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ IGNORE_FLAGS := $(addprefix --ignore=,$(IGNORE))
99
benches_name := $(patsubst %.py,%,$(BENCHES))
1010
benches_name := $(subst /,_,$(benches_name))
1111
benches_name := $(subst *,_,$(benches_name))
12-
NUMPY_OUT = results/numpy/$(benches_name)benches_$(shell date +%Y_%m_%d_%H%M%S).csv
12+
NUMPY_JSON ?= results/numpy/$(benches_name)benches_$(shell date +%Y_%m_%d_%H%M%S).json
1313

1414
# Taco Specific Flags
1515
TACO_OUT = results/taco/$(benches_name)benches_$(shell date +%Y_%m_%d_%H%M%S).csv
@@ -24,7 +24,12 @@ export TACO_TENSOR_PATH = data/
2424
# command above.
2525
python-bench: results numpy/*.py
2626
echo $(benches_name)
27-
pytest $(IGNORE_FLAGS) --csv $(NUMPY_OUT) $(BENCHFLAGS) $(BENCHES)
27+
pytest $(IGNORE_FLAGS) --benchmark-json=$(NUMPY_JSON) $(BENCHFLAGS) $(BENCHES)@
28+
make convert-csv
29+
30+
.PHONY: convert-csv
31+
convert-csv:
32+
py.test-benchmark compare --csv=$(patsubst %.json,%.csv,$(NUMPY_JSON)) $(NUMPY_JSON)
2833

2934
taco-bench: taco/build/taco-bench
3035
ifeq ($(BENCHES),"")

numpy/ufuncs.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,8 @@ def bench():
9393
@pytest.mark.parametrize("tensor", FROSTTTensors.getTensors(), ids=FROSTTTensors.getTensorNames())
9494
@pytest.mark.parametrize("ufunc", [numpy.logical_xor, numpy.ldexp, numpy.right_shift])
9595
def bench_pydata_frostt_ufunc_sparse(tacoBench, tensor, ufunc):
96+
benchmark.extra_info['tensor_str'] = str(tensor)
97+
benchmark.extra_info['ufunc_str'] = ufunc.__name__
9698
frTensor = tensor.load().astype('int64')
9799
shifter = PydataTensorShifter()
98100
other = shifter.shiftLastMode(frTensor).astype('int64')
@@ -106,7 +108,7 @@ def bench():
106108
@pytest.mark.parametrize("tensor", SuiteSparseTensors.getTensors(), ids=SuiteSparseTensors.getTensorNames())
107109
@pytest.mark.parametrize("ufunc", [numpy.logical_xor, numpy.ldexp, numpy.right_shift])
108110
def bench_pydata_suitesparse_ufunc_sparse(tacoBench, tensor, ufunc):
109-
ssTensor = tensor.load(PydataMatrixMarketTensorLoader()).astype('int64')
111+
ssTensor = tensor[1].load(PydataMatrixMarketTensorLoader()).astype('int64')
110112
shifter = PydataTensorShifter()
111113
other = shifter.shiftLastMode(ssTensor).astype('int64')
112114
def bench():

numpy/util.py

+4
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,8 @@ def getTensors(self):
151151
return self.tensors
152152
def getTensorNames(self):
153153
return [str(tensor) for tensor in self.getTensors()]
154+
def getTensorsAndNames(self):
155+
return [(str(tensor), tensor) for tensor in self.getTensors()]
154156

155157
# PydataTensorShifter shifts all elements in the last mode
156158
# of the input pydata/sparse tensor by one.
@@ -249,3 +251,5 @@ def getTensors(self):
249251
return self.tensors
250252
def getTensorNames(self):
251253
return [str(tensor) for tensor in self.getTensors()]
254+
def getTensorsAndNames(self):
255+
return [(str(tensor), tensor) for tensor in self.getTensors()]

0 commit comments

Comments
 (0)