feat(cli): print execution time in seconds when greater than 1 second (#1107)

This commit is contained in:
Boshen 2023-10-30 16:35:40 +08:00 committed by GitHub
parent b703c0c5b5
commit 6da5a3f216
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -43,7 +43,6 @@ impl Termination for CliRunResult {
number_of_errors,
max_warnings_exceeded,
}) => {
let ms = duration.as_millis();
let threads = rayon::current_num_threads();
let number_of_diagnostics = number_of_warnings + number_of_errors;
@ -51,9 +50,10 @@ impl Termination for CliRunResult {
println!();
}
let time = Self::get_execution_time(&duration);
let s = if number_of_files == 1 { "" } else { "s" };
println!(
"Finished in {ms}ms on {number_of_files} file{s} with {number_of_rules} rules using {threads} threads."
"Finished in {time} on {number_of_files} file{s} with {number_of_rules} rules using {threads} threads."
);
if max_warnings_exceeded {
@ -71,8 +71,8 @@ impl Termination for CliRunResult {
ExitCode::from(exit_code)
}
Self::TypeCheckResult { duration, number_of_diagnostics } => {
let ms = duration.as_millis();
println!("Finished in {ms}ms.");
let time = Self::get_execution_time(&duration);
println!("Finished in {time}.");
if number_of_diagnostics > 0 {
println!("Found {number_of_diagnostics} errors.");
@ -84,3 +84,14 @@ impl Termination for CliRunResult {
}
}
}
impl CliRunResult {
fn get_execution_time(duration: &Duration) -> String {
let ms = duration.as_millis();
if ms < 1000 {
format!("{ms}ms")
} else {
format!("{:.1}s", duration.as_secs_f64())
}
}
}