Repository navigation
construct a label from other benchmark fields #3
Description
Activity
Can you add a snippet of the benchmark.json file as well?
e.g.
{ "name": "SGEMM/384/169/1", "iterations": 13074, "real_time": 5.3525743996501726e+04, "cpu_time": 5.3539960532357516e+04, "time_unit": "ns", "K": 1.0000000000000000e+00, "M": 3.8400000000000000e+02, "N": 1.6900000000000000e+02 },What about something like this. This would construct a string with the specified seperator, from the fields in each benchmark object
In the spec file
label: seperator: "x" # optional, there would be some default fields: - K - M - N
or for command line utilities
... --label-seperator x --label-fields K M N ...The result for the offered snippet would be
1x384x169Some more thoughts.
In the spec file, at the series level,series.labelis the name of the series in the plot legend right now, so perhaps add another two optional fieldsseries.tick_fieldsandseries.tick_seperatorseries: - ... tick_seperator: "x" # optional, there would be some default tick_fields: [K, M, N] - ...
or for command line utilities
... --tick-seperator x --tick-fields K M N ...The result for the offered snippet would be
1x384x169There will need to be some changes in how dataframes are generated in
scope_plot/benchmark.pyand consumed in thegenerate_bar()portions ofscope_plot/backends/....
I think when the dataframe is generated, the index of the dataframe should be set to the desired tick label.
Then, when that dataframe is consumed the logic would need to be adjusted a bit to plot it correctly.Added support for
series.tick_fieldsandseries.tick_seperatorinschema.py, but no logic to actually use them.
