mirror of
https://github.com/sharkdp/hyperfine.git
synced 2026-11-02 01:00:31 +00:00
Simplify parameterized reference handling
This commit is contained in:
1 parent
f7429e2fb2
commit
463a889638
8 files changed
+210
-693
No files matched your search
@@ -44,7 +44,6 @@ impl<'a> Scheduler<'a> {
|
||||
.options
|
||||
.reference_command
|
||||
.as_ref()
|
||||
.filter(|_| !self.options.parameterized_mode)
|
||||
.map(|cmd| Command::new(self.options.reference_name.as_deref(), cmd));
|
||||
|
||||
executor.calibrate()?;
|
||||
@@ -56,7 +55,7 @@ impl<'a> Scheduler<'a> {
|
||||
// We export results after each individual benchmark, because
|
||||
// we would risk losing them if a later benchmark fails.
|
||||
self.export_manager
|
||||
.write_results(&self.results, true, self.reference_index())?;
|
||||
.write_results(&self.results, true, self.options.reference_index)?;
|
||||
}
|
||||
|
||||
Ok(())
|
||||
@@ -72,7 +71,8 @@ impl<'a> Scheduler<'a> {
|
||||
}
|
||||
|
||||
let reference = self
|
||||
.reference_index()
|
||||
.options
|
||||
.reference_index
|
||||
.map(|index| &self.results[index])
|
||||
.unwrap_or_else(|| relative_speed::fastest_of(&self.results));
|
||||
|
||||
@@ -130,16 +130,10 @@ impl<'a> Scheduler<'a> {
|
||||
console_writeln!(stdout, "{}", "Relative speed comparison".bold())?;
|
||||
|
||||
for item in annotated_results {
|
||||
let relationship = if self.reference_index().is_none() {
|
||||
""
|
||||
} else if item.is_reference {
|
||||
" (reference)"
|
||||
let relationship = if self.options.reference_index.is_some() {
|
||||
item.reference_label()
|
||||
} else {
|
||||
match item.relative_ordering {
|
||||
Ordering::Less => " (faster)",
|
||||
Ordering::Equal => " (same speed)",
|
||||
Ordering::Greater => " (slower)",
|
||||
}
|
||||
""
|
||||
};
|
||||
console_writeln!(
|
||||
stdout,
|
||||
@@ -174,16 +168,9 @@ impl<'a> Scheduler<'a> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn reference_index(&self) -> Option<usize> {
|
||||
self.options
|
||||
.reference_command
|
||||
.as_ref()
|
||||
.map(|_| self.options.parameterized_reference_index.unwrap_or(0))
|
||||
}
|
||||
|
||||
pub fn final_export(&self) -> Result<()> {
|
||||
self.export_manager
|
||||
.write_results(&self.results, false, self.reference_index())
|
||||
.write_results(&self.results, false, self.options.reference_index)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user