mirror of
https://github.com/sharkdp/hyperfine.git
synced 2026-11-01 08:50:19 +00:00
Rename --setup to --prepare
This commit is contained in:
1 parent
d5e02ff768
commit
a656fbe508
4 files changed
+39
-30
No files matched your search
@@ -133,13 +133,13 @@ pub fn run_benchmark(
|
||||
// Set up progress bar (and spinner for initial measurement)
|
||||
let bar = get_progress_bar(options.min_runs, "Initial time measurement");
|
||||
|
||||
// Run setup / cleanup command
|
||||
let run_setup_command = || {
|
||||
if let Some(ref setup_command) = options.setup_command {
|
||||
let _ = time_shell_command(setup_command, options.ignore_failure, None);
|
||||
// Run init / cleanup command
|
||||
let run_preparation_command = || {
|
||||
if let Some(ref preparation_command) = options.preparation_command {
|
||||
let _ = time_shell_command(preparation_command, options.ignore_failure, None);
|
||||
}
|
||||
};
|
||||
run_setup_command();
|
||||
run_preparation_command();
|
||||
|
||||
// Initial timing run
|
||||
let res = time_shell_command(cmd, options.ignore_failure, Some(shell_spawning_time))?;
|
||||
@@ -165,7 +165,7 @@ pub fn run_benchmark(
|
||||
|
||||
// Gather statistics
|
||||
for _ in 0..count_remaining {
|
||||
run_setup_command();
|
||||
run_preparation_command();
|
||||
|
||||
let msg = {
|
||||
let mean = format_duration(mean(&execution_times), Unit::Auto);
|
||||
|
||||
@@ -22,8 +22,8 @@ pub struct HyperfineOptions {
|
||||
/// Whether or not to ignore non-zero exit codes
|
||||
pub ignore_failure: bool,
|
||||
|
||||
/// Command to run before each benchmark run
|
||||
pub setup_command: Option<String>,
|
||||
/// Command to run before each timing run
|
||||
pub preparation_command: Option<String>,
|
||||
}
|
||||
|
||||
impl Default for HyperfineOptions {
|
||||
@@ -33,7 +33,7 @@ impl Default for HyperfineOptions {
|
||||
min_runs: 10,
|
||||
min_time_sec: 3.0,
|
||||
ignore_failure: false,
|
||||
setup_command: None,
|
||||
preparation_command: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+13
-13
@@ -52,12 +52,6 @@ fn main() {
|
||||
.multiple(true)
|
||||
.empty_values(false),
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("ignore-failure")
|
||||
.long("ignore-failure")
|
||||
.short("i")
|
||||
.help("Ignore non-zero exit codes"),
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("warmup")
|
||||
.long("warmup")
|
||||
@@ -81,20 +75,24 @@ fn main() {
|
||||
)),
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("setup")
|
||||
.long("setup")
|
||||
.short("S")
|
||||
Arg::with_name("prepare")
|
||||
.long("prepare")
|
||||
.short("p")
|
||||
.takes_value(true)
|
||||
.value_name("CMD")
|
||||
.help(
|
||||
"Execute CMD before each benchmark run. This is useful for \
|
||||
"Execute CMD before each timing run. This is useful for \
|
||||
clearing disk caches, for example",
|
||||
),
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("ignore-failure")
|
||||
.long("ignore-failure")
|
||||
.short("i")
|
||||
.help("Ignore non-zero exit codes"),
|
||||
)
|
||||
.get_matches();
|
||||
|
||||
options.ignore_failure = matches.is_present("ignore-failure");
|
||||
|
||||
let str_to_u64 = |n| u64::from_str_radix(n, 10).ok();
|
||||
|
||||
options.warmup_count = matches
|
||||
@@ -107,7 +105,9 @@ fn main() {
|
||||
options.min_runs = cmp::max(2, min_runs);
|
||||
}
|
||||
|
||||
options.setup_command = matches.value_of("setup").map(String::from);
|
||||
options.preparation_command = matches.value_of("prepare").map(String::from);
|
||||
|
||||
options.ignore_failure = matches.is_present("ignore-failure");
|
||||
|
||||
let commands = matches.values_of("command").unwrap().collect();
|
||||
let res = run(&commands, &options);
|
||||
|
||||
Reference in new issue
Block a user