Add env variable for rayon thread counts (#12693)
This commit is contained in:
parent
5eaf65af4f
commit
37222683ee
|
@ -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 {
|
||||||
|
|
Loading…
Reference in New Issue