diff --git a/src/export/csv.rs b/src/export/csv.rs index fbb0c2e..3932f92 100644 --- a/src/export/csv.rs +++ b/src/export/csv.rs @@ -5,7 +5,7 @@ use csv::WriterBuilder; use super::Exporter; use crate::benchmark::benchmark_result::BenchmarkResult; use crate::options::SortOrder; -use crate::quantity::{second, TimeUnit}; +use crate::quantity::{FormatQuantity, TimeUnit}; use anyhow::Result; @@ -19,6 +19,7 @@ impl Exporter for CsvExporter { _unit: Option, _sort_order: SortOrder, ) -> Result> { + const CSV_UNIT: TimeUnit = TimeUnit::Second; const CSV_PRECISION: usize = 6; let mut writer = WriterBuilder::new().from_writer(vec![]); @@ -42,18 +43,18 @@ impl Exporter for CsvExporter { for res in results { let mut fields = vec![Cow::Borrowed(res.command.as_bytes())]; for f in &[ - res.mean_wall_clock_time().get::(), - res.measurements - .stddev() - .unwrap_or_default() - .get::(), - res.measurements.median().get::(), - res.measurements.time_user_mean().get::(), - res.measurements.time_system_mean().get::(), - res.measurements.min().get::(), - res.measurements.max().get::(), + res.mean_wall_clock_time(), + res.measurements.stddev().unwrap_or_default(), + res.measurements.median(), + res.measurements.time_user_mean(), + res.measurements.time_system_mean(), + res.measurements.min(), + res.measurements.max(), ] { - fields.push(Cow::Owned(format!("{f:.CSV_PRECISION$}").into_bytes())) + fields.push(Cow::Owned( + f.format_with_precision(CSV_UNIT, CSV_PRECISION) + .into_bytes(), + )) } for v in res.parameters.values() { fields.push(Cow::Borrowed(v.value.as_bytes()))