diff --git a/src/task/blocking.rs b/src/task/blocking.rs index a644403..b22117a 100644 --- a/src/task/blocking.rs +++ b/src/task/blocking.rs @@ -14,9 +14,9 @@ use lazy_static::lazy_static; use crate::utils::abort_on_panic; const MAX_THREADS: u64 = 10_000; -const MIN_WAIT_MS: u64 = 1; -const MAX_WAIT_MS: u64 = 100; -const WAIT_SPREAD: u64 = MAX_WAIT_MS - MIN_WAIT_MS; +const MIN_WAIT_US: u64 = 10; +const MAX_WAIT_US: u64 = 10_000; +const WAIT_SPREAD: u64 = MAX_WAIT_US - MIN_WAIT_US; static DYNAMIC_THREAD_COUNT: AtomicU64 = AtomicU64::new(0); @@ -64,9 +64,9 @@ fn maybe_create_another_blocking_thread() { let relative_wait_limit = (WAIT_SPREAD * utilization_percent) / 100; // higher utilization -> lower wait time - let wait_limit_ms = MAX_WAIT_MS - relative_wait_limit; - assert!(wait_limit_ms >= MIN_WAIT_MS); - let wait_limit = Duration::from_millis(wait_limit_ms); + let wait_limit_us = MAX_WAIT_US - relative_wait_limit; + assert!(wait_limit_us >= MIN_WAIT_US); + let wait_limit = Duration::from_micros(wait_limit_us); thread::Builder::new() .name("async-blocking-driver-dynamic".to_string()) @@ -96,9 +96,9 @@ fn schedule(t: async_task::Task<()>) { let relative_wait_limit = (WAIT_SPREAD * utilization_percent) / 100; // higher utilization -> higher block time - let wait_limit_ms = MIN_WAIT_MS + relative_wait_limit; - assert!(wait_limit_ms <= MAX_WAIT_MS); - let wait_limit = Duration::from_millis(wait_limit_ms); + let wait_limit_us = MIN_WAIT_US + relative_wait_limit; + assert!(wait_limit_us <= MAX_WAIT_US); + let wait_limit = Duration::from_micros(wait_limit_us); let first_try_result = POOL.sender.send_timeout(t, wait_limit); match first_try_result {