7 releases
Uses new Rust 2024
| 0.1.7 | Dec 6, 2025 |
|---|---|
| 0.1.6 | Jun 7, 2025 |
#266 in Concurrency
2,621 downloads per month
Used in 15 crates
(3 directly)
20KB
349 lines
novtb – Simple Zoned Data-Parallelism with Core Affinity
novtb provides a lightweight, brute-force data-parallel execution model with support for core pinning (CPU affinity). It's useful for workloads where threads should be pinned to specific cores for improved cache locality or performance consistency.
Features
- Zone-based parallel iteration over chunked data
- Explicit thread pool with core affinity
- Simple API without complex task graphs or scheduling overhead
Some examples
let pool = novtb::ThreadPool::new(thread_count as usize);
pool.parallel_for(|thread_index| {
// Perform thread-specific heavy work here
);
let pool = novtb::ThreadPool::new(thread_count as usize);
dst.tb_par_chunks_mut(dst_stride as usize * tile_size)
.for_each_enumerated(&pool, |cy, dst_rows| {
// Process a tile at row 'cy' in 'dst_rows'
});
This project is licensed under either of
at your option.
Dependencies
~51–265KB