mirror of
https://github.com/sharkdp/hyperfine.git
synced 2026-10-28 08:08:58 +00:00
Choose prose comparison and ratio in one match
This commit is contained in:
1 parent
7167df6951
commit
06167908cb
1 file changed
+21
-24
+21
-24
@@ -97,38 +97,35 @@ impl<'a> Scheduler<'a> {
|
||||
|
||||
for item in others {
|
||||
// The prose summary expresses both directions as factors above one.
|
||||
let (relative_speed, relative_speed_stddev) =
|
||||
if item.relative_ordering == Ordering::Less {
|
||||
(
|
||||
1.0 / item.relative_speed,
|
||||
let (relative_speed, relative_speed_stddev, prefix, suffix) =
|
||||
match item.relative_ordering {
|
||||
Ordering::Less => (
|
||||
format!("{:8.2}", 1.0 / item.relative_speed),
|
||||
item.relative_speed_stddev
|
||||
.map(|stddev| stddev / item.relative_speed.powi(2)),
|
||||
)
|
||||
} else {
|
||||
(item.relative_speed, item.relative_speed_stddev)
|
||||
"",
|
||||
" times slower than",
|
||||
),
|
||||
Ordering::Greater => (
|
||||
format!("{:8.2}", item.relative_speed),
|
||||
item.relative_speed_stddev,
|
||||
"",
|
||||
" times faster than",
|
||||
),
|
||||
Ordering::Equal => (
|
||||
format!("{:.2}", item.relative_speed),
|
||||
item.relative_speed_stddev,
|
||||
" As fast (",
|
||||
") as",
|
||||
),
|
||||
};
|
||||
let stddev = if let Some(stddev) = relative_speed_stddev {
|
||||
format!(" ± {}", format!("{:.2}", stddev).green())
|
||||
} else {
|
||||
"".into()
|
||||
};
|
||||
let comparator = match item.relative_ordering {
|
||||
Ordering::Less => format!(
|
||||
"{}{} times slower than",
|
||||
format!("{relative_speed:8.2}").bold().green(),
|
||||
stddev
|
||||
),
|
||||
Ordering::Greater => format!(
|
||||
"{}{} times faster than",
|
||||
format!("{relative_speed:8.2}").bold().green(),
|
||||
stddev
|
||||
),
|
||||
Ordering::Equal => format!(
|
||||
" As fast ({}{}) as",
|
||||
format!("{relative_speed:.2}").bold().green(),
|
||||
stddev
|
||||
),
|
||||
};
|
||||
let comparator =
|
||||
format!("{prefix}{}{stddev}{suffix}", relative_speed.bold().green());
|
||||
console_writeln!(
|
||||
stdout,
|
||||
"{} {}",
|
||||
|
||||
Reference in new issue
Block a user