vicinal
Processor-local worker pool that schedules tasks in the vicinity of the caller.
This crate provides a worker pool where each task is executed on the same processor that spawned it, ensuring optimal cache locality and minimizing cross-processor data movement.
Example
use Pool;
async
Tradeoffs
- Single task latency on an idle pool is prioritized. The expectation is that tasks are short-lived so that the pool is often idle.
Platform support
The package is tested on the following operating systems:
- Windows 11 x64
- Windows Server 2022 x64
- Ubuntu 24.04 x64
On non-Windows non-Linux platforms (e.g. mac OS), the package will not uphold the processor locality guarantees, but will otherwise function correctly as a worker pool.
See also
More details in the package documentation.
This is part of the Folo project that provides mechanisms for high-performance hardware-aware programming in Rust.