From 8345cf5037506b38457483429fb113322c58f668 Mon Sep 17 00:00:00 2001 From: Weihang Lo Date: Thu, 9 Jun 2022 07:47:00 +0800 Subject: [PATCH] Revert #10427: switch from num_cpus This reverts commit 6d11f9e7d4e8694b7a6a8465ec679ad422957078, reversing changes made to c5cdd25c14ca7bd3f1691ed59535adb4f6b2c8df. --- Cargo.toml | 1 + src/cargo/core/compiler/build_config.rs | 10 ++-------- src/cargo/core/compiler/timings.rs | 6 +----- 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index af537d96c76..42fe3165a73 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -44,6 +44,7 @@ libc = "0.2" log = "0.4.6" libgit2-sys = "0.13.2" memchr = "2.1.3" +num_cpus = "1.0" opener = "0.5" os_info = "3.0.7" pathdiff = "0.2" diff --git a/src/cargo/core/compiler/build_config.rs b/src/cargo/core/compiler/build_config.rs index 51e6512b161..9e97eb485f4 100644 --- a/src/cargo/core/compiler/build_config.rs +++ b/src/cargo/core/compiler/build_config.rs @@ -1,12 +1,11 @@ use crate::core::compiler::CompileKind; use crate::util::interning::InternedString; use crate::util::{CargoResult, Config, RustfixDiagnosticServer}; -use anyhow::{bail, Context as _}; +use anyhow::bail; use cargo_util::ProcessBuilder; use serde::ser; use std::cell::RefCell; use std::path::PathBuf; -use std::thread::available_parallelism; /// Configuration information for a rustc build. #[derive(Debug)] @@ -74,12 +73,7 @@ impl BuildConfig { its environment, ignoring the `-j` parameter", )?; } - let jobs = match jobs.or(cfg.jobs) { - Some(j) => j, - None => available_parallelism() - .context("failed to determine the amount of parallelism available")? - .get() as u32, - }; + let jobs = jobs.or(cfg.jobs).unwrap_or(::num_cpus::get() as u32); if jobs == 0 { anyhow::bail!("jobs may not be 0"); } diff --git a/src/cargo/core/compiler/timings.rs b/src/cargo/core/compiler/timings.rs index db4145332e6..bd846053f25 100644 --- a/src/cargo/core/compiler/timings.rs +++ b/src/cargo/core/compiler/timings.rs @@ -13,7 +13,6 @@ use anyhow::Context as _; use cargo_util::paths; use std::collections::HashMap; use std::io::{BufWriter, Write}; -use std::thread::available_parallelism; use std::time::{Duration, Instant, SystemTime}; pub struct Timings<'cfg> { @@ -381,9 +380,6 @@ impl<'cfg> Timings<'cfg> { }; let total_time = format!("{:.1}s{}", duration, time_human); let max_concurrency = self.concurrency.iter().map(|c| c.active).max().unwrap(); - let num_cpus = available_parallelism() - .map(|x| x.get().to_string()) - .unwrap_or_else(|_| "n/a".into()); let max_rustc_concurrency = self .concurrency .iter() @@ -446,7 +442,7 @@ impl<'cfg> Timings<'cfg> { self.total_fresh + self.total_dirty, max_concurrency, bcx.build_config.jobs, - num_cpus, + num_cpus::get(), self.start_str, total_time, rustc_info,