#[non_exhaustive]pub enum InstantiationStrategy {
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
source§fn eq(&self, other: &InstantiationStrategy) -> bool
fn eq(&self, other: &InstantiationStrategy) -> bool
self
and other
values to be equal, and is used
by ==
.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<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<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
.