pub struct ScatterConfig {
pub concurrency: Option<u64>,
}Expand description
Represents scatter statement evaluation configuration.
Fields§
§concurrency: Option<u64>The number of scatter array elements to process concurrently.
Defaults to 1000.
A value of 0 is invalid.
Lower values use less memory for evaluation and higher values may better saturate the task execution backend with tasks to execute for large scatters.
This setting does not change how many tasks an execution backend can run concurrently, but may affect how many tasks are sent to the backend to run at a time.
For example, if concurrency was set to 10 and we evaluate the
following scatters:
scatter (i in range(100)) {
call my_task
}
scatter (j in range(100)) {
call my_task as my_task2
}Here each scatter is independent and therefore there will be 20 calls (10 for each scatter) made concurrently. If the task execution backend can only execute 5 tasks concurrently, 5 tasks will execute and 15 will be “ready” to execute and waiting for an executing task to complete.
If instead we evaluate the following scatters:
scatter (i in range(100)) {
scatter (j in range(100)) {
call my_task
}
}Then there will be 100 calls (10*10 as 10 are made for each outer element) made concurrently. If the task execution backend can only execute 5 tasks concurrently, 5 tasks will execute and 95 will be “ready” to execute and waiting for an executing task to complete.
Implementations§
Trait Implementations§
Source§impl Clone for ScatterConfig
impl Clone for ScatterConfig
Source§fn clone(&self) -> ScatterConfig
fn clone(&self) -> ScatterConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ScatterConfig
impl Debug for ScatterConfig
Source§impl Default for ScatterConfig
impl Default for ScatterConfig
Source§fn default() -> ScatterConfig
fn default() -> ScatterConfig
Source§impl<'de> Deserialize<'de> for ScatterConfig
impl<'de> Deserialize<'de> for ScatterConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for ScatterConfig
impl RefUnwindSafe for ScatterConfig
impl Send for ScatterConfig
impl Sync for ScatterConfig
impl Unpin for ScatterConfig
impl UnsafeUnpin for ScatterConfig
impl UnwindSafe for ScatterConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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