diff --git a/tasks/coverage/src/main.rs b/tasks/coverage/src/main.rs index ffe90f7e00415..9a123c2a2551c 100644 --- a/tasks/coverage/src/main.rs +++ b/tasks/coverage/src/main.rs @@ -1,7 +1,10 @@ -use oxc_coverage::AppArgs; +use std::num::NonZeroUsize; + use pico_args::Arguments; use rayon::ThreadPoolBuilder; +use oxc_coverage::AppArgs; + fn main() { let mut args = Arguments::from_env(); let command = args.subcommand().expect("subcommands"); @@ -13,9 +16,13 @@ fn main() { diff: args.contains("--diff"), }; - if args.debug { - ThreadPoolBuilder::new().num_threads(1).build_global().unwrap(); - } + // Init rayon thread pool + let thread_count = if args.debug { + 1 + } else { + std::thread::available_parallelism().map(NonZeroUsize::get).unwrap_or(1) + }; + ThreadPoolBuilder::new().num_threads(thread_count).build_global().unwrap(); let task = command.as_deref().unwrap_or("default"); match task {