Support minutes and hours

This commit is contained in:
David Peter authored and David Peter committed 2026-10-05 15:59:43 +02:00
1 parent 418e43a652
commit f57c4e6d78
3 files changed
+8 -4

No files matched your search

+4 -2
View File
@@ -291,13 +291,15 @@ fn build_command() -> Command {
.short('u') .short('u')
.action(ArgAction::Set) .action(ArgAction::Set)
.value_name("UNIT") .value_name("UNIT")
.value_parser(["µs", "us", "microsecond", "microseconds", "ms", "millisecond", "milliseconds", "s", "second", "seconds"]) .value_parser(["µs", "us", "microsecond", "microseconds", "ms", "millisecond", "milliseconds", "s", "second", "seconds", "min", "minute", "minutes", "h", "hour", "hours"])
.help("Set the time unit to be used. If the option is not given, the time unit is determined automatically. \ .help("Set the time unit to be used. If the option is not given, the time unit is determined automatically. \
This option affects the standard output as well as all export formats except for CSV and JSON.\n\ This option affects the standard output as well as all export formats except for CSV and JSON.\n\
Possible values:\n \ Possible values:\n \
* 'µs', 'us', 'microsecond', 'microseconds'\n \ * 'µs', 'us', 'microsecond', 'microseconds'\n \
* 'ms', 'millisecond', 'milliseconds'\n \ * 'ms', 'millisecond', 'milliseconds'\n \
* 's', 'second', 'seconds'"), * 's', 'second', 'seconds'\n \
* 'min', 'minute', 'minutes'\n \
* 'h', 'hour', 'hours'"),
) )
.arg( .arg(
Arg::new("export-asciidoc") Arg::new("export-asciidoc")
+2 -2
View File
@@ -125,11 +125,11 @@ impl<T: MarkupExporter> Exporter for T {
fn serialize( fn serialize(
&self, &self,
results: &[BenchmarkResult], results: &[BenchmarkResult],
unit: Option<TimeUnit>, time_unit: Option<TimeUnit>,
sort_order: SortOrder, sort_order: SortOrder,
reference_index: Option<usize>, reference_index: Option<usize>,
) -> Result<Vec<u8>> { ) -> Result<Vec<u8>> {
let unit = unit.unwrap_or_else(|| determine_unit_from_results(results)); let unit = time_unit.unwrap_or_else(|| determine_unit_from_results(results));
// Do not report ratios against another benchmark while the selected // Do not report ratios against another benchmark while the selected
// reference is still pending in an intermediate export. // reference is still pending in an intermediate export.
let reference_pending = reference_index.is_some_and(|i| i >= results.len()); let reference_pending = reference_index.is_some_and(|i| i >= results.len());
+2
View File
@@ -437,6 +437,8 @@ impl Options {
Some("µs" | "us" | "microsecond" | "microseconds") => Some(TimeUnit::MicroSecond), Some("µs" | "us" | "microsecond" | "microseconds") => Some(TimeUnit::MicroSecond),
Some("ms" | "millisecond" | "milliseconds") => Some(TimeUnit::MilliSecond), Some("ms" | "millisecond" | "milliseconds") => Some(TimeUnit::MilliSecond),
Some("s" | "second" | "seconds") => Some(TimeUnit::Second), Some("s" | "second" | "seconds") => Some(TimeUnit::Second),
Some("min" | "minute" | "minutes") => Some(TimeUnit::Minute),
Some("h" | "hour" | "hours") => Some(TimeUnit::Hour),
_ => None, _ => None,
}; };