scribe_scaling/
parallel.rs1use serde::{Deserialize, Serialize};
4use std::time::Duration;
5
6#[derive(Debug, Clone, Serialize, Deserialize)]
8pub struct ParallelConfig {
9 pub max_concurrent_tasks: usize,
11
12 pub async_worker_count: usize,
14
15 pub cpu_worker_count: usize,
17
18 pub task_timeout: Duration,
20
21 pub enable_work_stealing: bool,
23}
24
25impl Default for ParallelConfig {
26 fn default() -> Self {
27 Self {
28 max_concurrent_tasks: num_cpus::get() * 2,
29 async_worker_count: num_cpus::get(),
30 cpu_worker_count: num_cpus::get(),
31 task_timeout: Duration::from_secs(30),
32 enable_work_stealing: true,
33 }
34 }
35}