[−][src]Struct basic_dsp::MultiCoreSettings
Holds parameters which specify how multiple cores are used to execute an operation.
Fields
core_limit: usizeAll operations will be limited to not create more threads than specified here
med_dual_core_threshold: usizemed_multi_core_threshold: usizelarge_dual_core_threshold: usizelarge_multi_core_threshold: usizeImplementations
impl MultiCoreSettings[src]
pub fn default() -> MultiCoreSettings[src]
Creates multi core settings with default values
pub fn single_threaded() -> MultiCoreSettings[src]
Creates multi core settings so that no thread will be spawned.
pub fn parallel() -> MultiCoreSettings[src]
Creates multi core so that threads will be spawned if this appears to be beneficial.
pub fn new(core_limit: usize) -> MultiCoreSettings[src]
Creates multi core settings with the given values.
If core_limit > 1 then the first time this function is executed a calibration run
will be performed which determines the details for the multi threading strategy. This
run takes between 200ms and 500ms.
pub fn with_thresholds(
core_limit: usize,
med_dual_core_threshold: usize,
med_multi_core_threshold: usize,
large_dual_core_threshold: usize,
large_multi_core_threshold: usize
) -> MultiCoreSettings[src]
core_limit: usize,
med_dual_core_threshold: usize,
med_multi_core_threshold: usize,
large_dual_core_threshold: usize,
large_multi_core_threshold: usize
) -> MultiCoreSettings
Creates multi core settings with explicit thresholds.
The arguments allow to specify the number of cores which are used at maximum and as
well as starting from which slice size the lib will start to use two or all cores.
med denotes operations of medium complexity, e.g. such as log and sin.
large denotes operations like convolution and interpolation.
Trait Implementations
impl Clone for MultiCoreSettings[src]
pub fn clone(&self) -> MultiCoreSettings[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Copy for MultiCoreSettings[src]
impl Debug for MultiCoreSettings[src]
Auto Trait Implementations
impl RefUnwindSafe for MultiCoreSettings[src]
impl Send for MultiCoreSettings[src]
impl Sync for MultiCoreSettings[src]
impl Unpin for MultiCoreSettings[src]
impl UnwindSafe for MultiCoreSettings[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,