[][src]Struct basic_dsp::MultiCoreSettings

#[repr(C)]
pub struct MultiCoreSettings { pub core_limit: usize, pub med_dual_core_threshold: usize, pub med_multi_core_threshold: usize, pub large_dual_core_threshold: usize, pub large_multi_core_threshold: usize, }

Holds parameters which specify how multiple cores are used to execute an operation.

Fields

core_limit: usize

All 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: usize

Methods

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]

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 Debug for MultiCoreSettings
[src]

impl Clone for MultiCoreSettings
[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Copy for MultiCoreSettings
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> From for T
[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Erased for T