pub enum PerformancePriority {
HighSpeed,
Balanced,
LowMemory,
}Expand description
This enum can be supplied to the FmIndexConfig to select different sub-algorithms during the
construction of the FM-Index.
The default is HighSpeed.
Variants§
HighSpeed
Balanced
For alphabets with 16 or less symbols in dense encoding, the temporary concatenated text and the BWT buffer can be compressed to use less memory while constructing the BWT. This reduces the peak memory usage of the construction by about 10-15% and only takes a small amount of additional running time.
LowMemory
In addition to the space improvements of the Balanced variant, a much slower, not parallel suffix
array construction algorithm will be used for u32-based FM-Indices.
This only happens if the u32-saca feature is activated (by default it is).
This can save a lot of memory when the sum of text lengths fits into a u32, but not into a i32.
The downside is that the construction is much slower (at least 5 times slower should be expected).
Trait Implementations§
Source§impl Clone for PerformancePriority
impl Clone for PerformancePriority
Source§fn clone(&self) -> PerformancePriority
fn clone(&self) -> PerformancePriority
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PerformancePriority
impl Debug for PerformancePriority
Source§impl PartialEq for PerformancePriority
impl PartialEq for PerformancePriority
Source§fn eq(&self, other: &PerformancePriority) -> bool
fn eq(&self, other: &PerformancePriority) -> bool
self and other values to be equal, and is used by ==.impl Copy for PerformancePriority
impl Eq for PerformancePriority
impl StructuralPartialEq for PerformancePriority
Auto Trait Implementations§
impl Freeze for PerformancePriority
impl RefUnwindSafe for PerformancePriority
impl Send for PerformancePriority
impl Sync for PerformancePriority
impl Unpin for PerformancePriority
impl UnsafeUnpin for PerformancePriority
impl UnwindSafe for PerformancePriority
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<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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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