pub struct ParallelConfig {
pub num_threads: Option<usize>,
pub min_chunk_size: usize,
pub max_chunks: Option<usize>,
}Expand description
Configuration for parallel computation
Fields§
§num_threads: Option<usize>Number of threads to use (default: number of CPUs)
min_chunk_size: usizeMinimum chunk size in bytes (default: 5 MB) Smaller chunks = better load balancing and cache efficiency Benchmarks show 1-5 MB is optimal for most workloads
max_chunks: Option<usize>Maximum number of chunks (default: num_threads * 4) Limits memory usage for very large files
Implementations§
Source§impl ParallelConfig
impl ParallelConfig
Sourcepub fn with_threads(self, threads: usize) -> Self
pub fn with_threads(self, threads: usize) -> Self
Set the number of threads to use
Sourcepub fn with_chunk_size(self, size: usize) -> Self
pub fn with_chunk_size(self, size: usize) -> Self
Set the minimum chunk size in bytes
Sourcepub fn with_max_chunks(self, max: usize) -> Self
pub fn with_max_chunks(self, max: usize) -> Self
Set the maximum number of chunks
Sourcepub fn max_chunks(&self) -> usize
pub fn max_chunks(&self) -> usize
Get the effective max chunks
Trait Implementations§
Source§impl Clone for ParallelConfig
impl Clone for ParallelConfig
Source§fn clone(&self) -> ParallelConfig
fn clone(&self) -> ParallelConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ParallelConfig
impl Debug for ParallelConfig
Auto Trait Implementations§
impl Freeze for ParallelConfig
impl RefUnwindSafe for ParallelConfig
impl Send for ParallelConfig
impl Sync for ParallelConfig
impl Unpin for ParallelConfig
impl UnsafeUnpin for ParallelConfig
impl UnwindSafe for ParallelConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more