Skip to content

Commit

Permalink
chore: replace num_cpus with available_parallelism (#6709)
Browse files Browse the repository at this point in the history
  • Loading branch information
vilgotf authored Jul 22, 2024
1 parent 15cd514 commit feb742c
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 7 deletions.
1 change: 0 additions & 1 deletion benches/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ tokio = { version = "1.5.0", path = "../tokio", features = ["full"] }
criterion = "0.5.1"
rand = "0.8"
rand_chacha = "0.3"
num_cpus = "1.16.0"

[dev-dependencies]
tokio-util = { version = "0.7.0", path = "../tokio-util", features = ["full"] }
Expand Down
6 changes: 1 addition & 5 deletions tokio/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,7 @@ process = [
]
# Includes basic task execution capabilities
rt = []
rt-multi-thread = [
"num_cpus",
"rt",
]
rt-multi-thread = ["rt"]
signal = [
"libc",
"mio/os-poll",
Expand All @@ -96,7 +93,6 @@ pin-project-lite = "0.2.11"
# Everything else is optional...
bytes = { version = "1.0.0", optional = true }
mio = { version = "0.8.9", optional = true, default-features = false }
num_cpus = { version = "1.8.0", optional = true }
parking_lot = { version = "0.12.0", optional = true }

[target.'cfg(not(target_family = "wasm"))'.dependencies]
Expand Down
6 changes: 5 additions & 1 deletion tokio/src/loom/std/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ pub(crate) mod sync {
pub(crate) mod sys {
#[cfg(feature = "rt-multi-thread")]
pub(crate) fn num_cpus() -> usize {
use std::num::NonZeroUsize;

const ENV_WORKER_THREADS: &str = "TOKIO_WORKER_THREADS";

match std::env::var(ENV_WORKER_THREADS) {
Expand All @@ -97,7 +99,9 @@ pub(crate) mod sys {
assert!(n > 0, "\"{}\" cannot be set to 0", ENV_WORKER_THREADS);
n
}
Err(std::env::VarError::NotPresent) => usize::max(1, num_cpus::get()),
Err(std::env::VarError::NotPresent) => {
std::thread::available_parallelism().map_or(1, NonZeroUsize::get)
}
Err(std::env::VarError::NotUnicode(e)) => {
panic!(
"\"{}\" must be valid unicode, error: {:?}",
Expand Down

0 comments on commit feb742c

Please sign in to comment.