Skip to content

Commit

Permalink
Auto merge of #10427 - weihanglo:drop-num_cpus, r=joshtriplett
Browse files Browse the repository at this point in the history
Use `available_parallelism` instead of `num_cpus`
  • Loading branch information
bors committed Mar 8, 2022
2 parents c5cdd25 + 4f706ae commit 6d11f9e
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 4 deletions.
1 change: 0 additions & 1 deletion Cargo.toml
Expand Up @@ -43,7 +43,6 @@ libc = "0.2"
log = "0.4.6"
libgit2-sys = "0.13.1"
memchr = "2.1.3"
num_cpus = "1.0"
opener = "0.5"
os_info = "3.0.7"
percent-encoding = "2.0"
Expand Down
10 changes: 8 additions & 2 deletions src/cargo/core/compiler/build_config.rs
@@ -1,11 +1,12 @@
use crate::core::compiler::CompileKind;
use crate::util::interning::InternedString;
use crate::util::{CargoResult, Config, RustfixDiagnosticServer};
use anyhow::bail;
use anyhow::{bail, Context as _};
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)]
Expand Down Expand Up @@ -70,7 +71,12 @@ impl BuildConfig {
its environment, ignoring the `-j` parameter",
)?;
}
let jobs = jobs.or(cfg.jobs).unwrap_or(::num_cpus::get() as u32);
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,
};
if jobs == 0 {
anyhow::bail!("jobs may not be 0");
}
Expand Down
6 changes: 5 additions & 1 deletion src/cargo/core/compiler/timings.rs
Expand Up @@ -13,6 +13,7 @@ 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> {
Expand Down Expand Up @@ -380,6 +381,9 @@ 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()
Expand Down Expand Up @@ -442,7 +446,7 @@ impl<'cfg> Timings<'cfg> {
self.total_fresh + self.total_dirty,
max_concurrency,
bcx.build_config.jobs,
num_cpus::get(),
num_cpus,
self.start_str,
total_time,
rustc_info,
Expand Down

0 comments on commit 6d11f9e

Please sign in to comment.