Skip to content

Commit d75aae2

Browse files
author
Tyler Neely
committed
Tune timings of dynamic threadpool
1 parent e97dfdc commit d75aae2

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

src/task/blocking.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ use lazy_static::lazy_static;
1414
use crate::utils::abort_on_panic;
1515

1616
const MAX_THREADS: u64 = 10_000;
17-
const MIN_WAIT_MS: u64 = 1;
18-
const MAX_WAIT_MS: u64 = 100;
19-
const WAIT_SPREAD: u64 = MAX_WAIT_MS - MIN_WAIT_MS;
17+
const MIN_WAIT_US: u64 = 10;
18+
const MAX_WAIT_US: u64 = 10_000;
19+
const WAIT_SPREAD: u64 = MAX_WAIT_US - MIN_WAIT_US;
2020

2121
static DYNAMIC_THREAD_COUNT: AtomicU64 = AtomicU64::new(0);
2222

@@ -64,9 +64,9 @@ fn maybe_create_another_blocking_thread() {
6464
let relative_wait_limit = (WAIT_SPREAD * utilization_percent) / 100;
6565

6666
// higher utilization -> lower wait time
67-
let wait_limit_ms = MAX_WAIT_MS - relative_wait_limit;
68-
assert!(wait_limit_ms >= MIN_WAIT_MS);
69-
let wait_limit = Duration::from_millis(wait_limit_ms);
67+
let wait_limit_us = MAX_WAIT_US - relative_wait_limit;
68+
assert!(wait_limit_us >= MIN_WAIT_US);
69+
let wait_limit = Duration::from_micros(wait_limit_us);
7070

7171
thread::Builder::new()
7272
.name("async-blocking-driver-dynamic".to_string())
@@ -96,9 +96,9 @@ fn schedule(t: async_task::Task<()>) {
9696
let relative_wait_limit = (WAIT_SPREAD * utilization_percent) / 100;
9797

9898
// higher utilization -> higher block time
99-
let wait_limit_ms = MIN_WAIT_MS + relative_wait_limit;
100-
assert!(wait_limit_ms <= MAX_WAIT_MS);
101-
let wait_limit = Duration::from_millis(wait_limit_ms);
99+
let wait_limit_us = MIN_WAIT_US + relative_wait_limit;
100+
assert!(wait_limit_us <= MAX_WAIT_US);
101+
let wait_limit = Duration::from_micros(wait_limit_us);
102102

103103
let first_try_result = POOL.sender.send_timeout(t, wait_limit);
104104
match first_try_result {

0 commit comments

Comments
 (0)