Add env variable for rayon thread counts (#12693)

This commit is contained in:
sakridge 2020-10-06 17:17:26 -07:00 committed by GitHub
parent 5eaf65af4f
commit 37222683ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 1 deletions

View File

@ -1,12 +1,16 @@
#[macro_use]
extern crate lazy_static;
use std::env;
//TODO remove this hack when rayon fixes itself
lazy_static! {
// reduce the number of threads each pool is allowed to half the cpu core count, to avoid rayon
// hogging cpu
static ref MAX_RAYON_THREADS: usize = num_cpus::get() as usize / 2;
static ref MAX_RAYON_THREADS: usize =
env::var("SOLANA_RAYON_THREADS")
.map(|x| x.parse().unwrap_or(num_cpus::get() as usize / 2))
.unwrap_or(num_cpus::get() as usize / 2);
}
pub fn get_thread_count() -> usize {