Crates.io | many_cpus |
lib.rs | many_cpus |
version | 0.3.18 |
created_at | 2025-03-08 05:35:17.179429+00 |
updated_at | 2025-08-22 09:26:02.904918+00 |
description | Efficiently schedule work and inspect the hardware environment on many-processor systems |
homepage | |
repository | https://github.com/folo-rs/folo |
max_upload_size | |
id | 1584106 |
size | 414,315 |
Efficiently schedule work and inspect the hardware environment on many-processor systems.
On systems with 100+ logical processors, taking direct control over work placement can yield superior performance by ensuring data locality and avoiding expensive cross-processor transfers.
use many_cpus::ProcessorSet;
let threads = ProcessorSet::default().spawn_threads(|processor| {
println!("Spawned thread on processor {}", processor.id());
// In a real service, you would start some work handler here, e.g. to read
// and process messages from a channel or to spawn a web handler.
});
More details in the package documentation.
This is part of the Folo project that provides mechanisms for high-performance hardware-aware programming in Rust.