pub fn optimize_chunk_size_and_thread_limit(
desired_chunk_size: usize,
num_items: Option<usize>,
thread_limit: Option<usize>,
available_threads: Option<usize>
) -> (usize, Option<usize>, usize)
Available on crate feature
parallel
only.Expand description
Return the ‘optimal’ (size of chunks
, amount of threads as Option
, amount of threads
) to use in in_parallel()
for the given
desired_chunk_size
, num_items
, thread_limit
and available_threads
.
desired_chunk_size
is the amount of items per chunk you think should be used.num_items
is the total amount of items in the iteration, ifSome
. Otherwise this knowledge will not affect the output of this function.thread_limit
is the amount of threads to use at most, ifSome
. Otherwise this knowledge will not affect the output of this function.available_threads
is the total amount of threads available, ifSome
. Otherwise the actual amount of available threads is determined by querying the system.
Note
that this implementation is available only if the parallel
feature toggle is set.