#[non_exhaustive]pub enum WasmtimeInstantiationStrategy {
PoolingCopyOnWrite,
RecreateInstanceCopyOnWrite,
Pooling,
RecreateInstance,
}
Expand description
The instantiation strategy to use for the WASM executor.
All of the CoW strategies (with CopyOnWrite
suffix) are only supported when either:
a) we’re running on Linux,
b) we’re running on an Unix-like system and we’re precompiling
our module beforehand and instantiating from a file.
If the CoW variant of a strategy is unsupported the executor will fall back to the non-CoW equivalent.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
PoolingCopyOnWrite
Pool the instances to avoid initializing everything from scratch on each instantiation. Use copy-on-write memory when possible.
This is the fastest instantiation strategy.
RecreateInstanceCopyOnWrite
Recreate the instance from scratch on every instantiation. Use copy-on-write memory when possible.
Pooling
Pool the instances to avoid initializing everything from scratch on each instantiation.
RecreateInstance
Recreate the instance from scratch on every instantiation. Very slow.
Trait Implementations§
source§impl Clone for InstantiationStrategy
impl Clone for InstantiationStrategy
source§fn clone(&self) -> InstantiationStrategy
fn clone(&self) -> InstantiationStrategy
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for InstantiationStrategy
impl Debug for InstantiationStrategy
source§impl Hash for InstantiationStrategy
impl Hash for InstantiationStrategy
source§impl PartialEq for InstantiationStrategy
impl PartialEq for InstantiationStrategy
impl Copy for InstantiationStrategy
impl Eq for InstantiationStrategy
impl StructuralPartialEq for InstantiationStrategy
Auto Trait Implementations§
impl Freeze for InstantiationStrategy
impl RefUnwindSafe for InstantiationStrategy
impl Send for InstantiationStrategy
impl Sync for InstantiationStrategy
impl Unpin for InstantiationStrategy
impl UnwindSafe for InstantiationStrategy
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> CheckedConversion for T
impl<T> CheckedConversion for T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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 moresource§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T
. Read moresource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.