[update patch]

wchargin-branch: param-list-matrix
wchargin-source: f866f0df2eae5f4bac2022c0db48edb0e8e6361e
This commit is contained in:
William Chargin 2020-09-17 11:31:27 -07:00 committed by David Peter
parent a8a75a3b76
commit 89737785f8
2 changed files with 7 additions and 7 deletions

View File

@ -50,11 +50,11 @@ def extract_parameters(results):
"benchmarks must all have the same parameter name, but found: %s"
% sorted(names)
)
return (next(iter(names)), values)
return (next(iter(names)), list(values))
def unique_parameter(benchmark):
"""Return the unique parameter `(name: str, value: float)`, or dies."""
"""Return the unique parameter `(name: str, value: float)`, or die."""
params_dict = benchmark.get("parameters", {})
if not params_dict:
die("benchmarks must have exactly one parameter, but found none")
@ -63,7 +63,8 @@ def unique_parameter(benchmark):
"benchmarks must have exactly one parameter, but found multiple: %s"
% sorted(params_dict)
)
return next(iter(params_dict.items()))
[(name, value)] = params_dict.items()
return (name, float(value))
parameter_name = None
@ -80,7 +81,6 @@ for filename in args.file:
)
parameter_name = this_parameter_name
parameter_values = [float(pv) for pv in parameter_values]
times_mean = [b["mean"] for b in results]
times_stddev = [b["stddev"] for b in results]

View File

@ -16,16 +16,16 @@ impl Exporter for CsvExporter {
let mut writer = WriterBuilder::new().from_writer(vec![]);
{
let mut headers: Vec<String> = [
let mut headers: Vec<Cow<[u8]>> = [
// The list of times cannot be exported to the CSV file - omit it.
"command", "mean", "stddev", "median", "user", "system", "min", "max",
]
.iter()
.map(|x| (*x).to_string())
.map(|x| Cow::Borrowed(x.as_bytes()))
.collect();
if let Some(res) = results.first() {
for param_name in res.parameters.keys() {
headers.push(format!("parameter_{}", param_name));
headers.push(Cow::Owned(format!("parameter_{}", param_name).into_bytes()));
}
}
writer.write_record(headers)?;