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] #[macro_use]
extern crate lazy_static; extern crate lazy_static;
use std::env;
//TODO remove this hack when rayon fixes itself //TODO remove this hack when rayon fixes itself
lazy_static! { lazy_static! {
// reduce the number of threads each pool is allowed to half the cpu core count, to avoid rayon // reduce the number of threads each pool is allowed to half the cpu core count, to avoid rayon
// hogging cpu // 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 { pub fn get_thread_count() -> usize {