SwapVecConfig

Struct SwapVecConfig 

Source
pub struct SwapVecConfig {
    pub swap_after: usize,
    pub batch_size: usize,
    pub compression: Option<Compression>,
}
Expand description

Configure when and how the vector should swap.

The file creation will happen after max(swap_after, batch_size) elements.

Keep in mind, that if the temporary file exists, after ever batch_size elements, at least one write (syscall) will happen.

Fields§

§swap_after: usize

The vector will create a temporary file and starting to swap after so many elements. If your elements have a certain size in bytes, you can multiply this value to calculate the required storage.

If you want to start swapping with the first batch, set to batch_size or smaller.

Default: 32 * 1024 * 1024

§batch_size: usize

How many elements at once should be written to disk.
Keep in mind, that for every batch one hash (u64) and one bytecount (usize) will be kept in memory.

One batch write will result in at least one syscall.

Default: 32 * 1024

§compression: Option<Compression>

If and how you want to compress your temporary file.
This might be only useful for data which is compressable, like timeseries often are.

Default: No compression

Trait Implementations§

Source§

impl Debug for SwapVecConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for SwapVecConfig

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.