|
Thread System 0.3.1
High-performance C++20 thread pool with work stealing and DAG scheduling
|
Typedefs | |
| using | default_job_type = job_types |
Variables | |
| constexpr size_t | default_thread_count = 4 |
| constexpr size_t | max_threads = 64 |
| constexpr size_t | min_threads = 1 |
| constexpr size_t | default_queue_size = 1024 |
| constexpr size_t | unlimited_queue_size = 0 |
| constexpr auto | default_wake_interval = std::chrono::milliseconds(100) |
| constexpr auto | default_shutdown_timeout = std::chrono::seconds(5) |
| constexpr auto | default_worker_idle_timeout = std::chrono::seconds(30) |
| constexpr bool | default_yield_on_idle = true |
| constexpr bool | default_work_stealing = false |
| Enable work stealing for improved load balancing. | |
| constexpr size_t | default_max_steal_attempts = 3 |
| Default maximum steal attempts before backing off. | |
| constexpr auto | default_steal_backoff = std::chrono::microseconds(50) |
| Default backoff duration between steal attempts (microseconds). | |
| constexpr bool | default_pin_threads = false |
| constexpr bool | default_use_priorities = false |
| constexpr size_t | max_queue_size = 1024 * 1024 |
| constexpr size_t | default_stack_size = 1024 * 1024 |
| constexpr bool | enable_coroutines = __cplusplus >= 202002L |
| constexpr bool | enable_statistics = true |
| constexpr bool | enable_debugging = false |
| constexpr const char * | default_thread_prefix = "worker" |
| constexpr const char * | default_pool_name = "thread_pool" |
| constexpr size_t | default_worker_count = 4 |
| constexpr size_t | max_workers = 64 |
| constexpr size_t | min_workers = 1 |
| constexpr size_t | default_wait_timeout_ms = 100 |
| constexpr size_t | default_shutdown_timeout_ms = 5000 |
| constexpr bool | enable_priority_boost = false |
| constexpr bool | enable_work_stealing = true |
| constexpr bool | enable_adaptive_sizing = false |
| constexpr size_t | default_job_pool_size = 512 |
| constexpr bool | enable_job_recycling = true |
| constexpr bool | enable_debug_logging = false |
| constexpr bool | enable_performance_monitoring = false |
| constexpr size_t | monitoring_interval_ms = 1000 |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
Definition at line 26 of file config.h.
Referenced by kcenon::thread::typed_thread_pool_builder< job_type >::reset().
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
Enable work stealing for improved load balancing.
Work stealing allows idle workers to steal jobs from busy workers, reducing tail latency and improving throughput in mixed workloads.
Architecture (when enabled):
Performance Characteristics:
|
constexpr |
Definition at line 25 of file config.h.
Referenced by kcenon::thread::typed_thread_pool_builder< job_type >::reset().
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
Definition at line 26 of file config.h.
Referenced by kcenon::thread::typed_thread_pool_builder< job_type >::validate().
|
constexpr |
Definition at line 27 of file config.h.
Referenced by kcenon::thread::typed_thread_pool_builder< job_type >::validate().
|
constexpr |