diff --git a/crates/oxc_cli/src/result.rs b/crates/oxc_cli/src/result.rs index cd90e14ee..a684c5bfc 100644 --- a/crates/oxc_cli/src/result.rs +++ b/crates/oxc_cli/src/result.rs @@ -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()) + } + } +}