Skip to main content

DataCompression

Enum DataCompression 

Source
pub enum DataCompression {
    None,
    Zstd {
        level: u8,
    },
    DeltaZstd {
        level: u8,
    },
    QuantizedEntropy {
        bits: u8,
    },
    Sparse {
        threshold: u32,
    },
}
Expand description

Data compression strategy (spec §4.2)

Selects optimal compression based on data characteristics:

  • None: Raw f32 values, zero latency
  • Zstd: General purpose, 2-10x ratio
  • DeltaZstd: Time series/sorted data, 5-20x ratio
  • QuantizedEntropy: ML-specific, 4-8x with minimal accuracy loss
  • Sparse: Sparse features, ratio proportional to sparsity

Variants§

§

None

No compression (raw f32 values)

§

Zstd

Zstd compression (general purpose) Ratio: 2-10x, Speed: 500 MB/s decompress

Fields

§level: u8

Compression level (1-22)

§

DeltaZstd

Delta encoding + Zstd (time series, sorted data) Ratio: 5-20x for sequential data

Fields

§level: u8

Compression level (1-22)

§

QuantizedEntropy

Quantization + entropy coding (ML-specific) Ratio: 4-8x with minimal accuracy loss

Fields

§bits: u8

Quantization bits (4, 8, 16)

§

Sparse

Sparse representation (for sparse features) Ratio: proportional to sparsity

Fields

§threshold: u32

Threshold below which values are treated as zero

Implementations§

Source§

impl DataCompression

Source

pub const fn zstd() -> Self

Create Zstd compression with default level

Source

pub const fn zstd_level(level: u8) -> Self

Create Zstd compression with custom level

Source

pub const fn delta_zstd() -> Self

Create delta+Zstd compression

Source

pub const fn quantized(bits: u8) -> Self

Create quantized entropy compression

Source

pub fn sparse(threshold: f32) -> Self

Create sparse compression with threshold

Source

pub const fn name(&self) -> &'static str

Human-readable name

Source

pub const fn estimated_ratio(&self) -> f32

Estimated compression ratio (typical)

Trait Implementations§

Source§

impl Clone for DataCompression

Source§

fn clone(&self) -> DataCompression

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DataCompression

Source§

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

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

impl Default for DataCompression

Source§

fn default() -> DataCompression

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

impl PartialEq for DataCompression

Source§

fn eq(&self, other: &DataCompression) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for DataCompression

Source§

impl Eq for DataCompression

Source§

impl StructuralPartialEq for DataCompression

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V