vecdb/variants/compressed/zstd/
mod.rs

1use crate::{CompressedVecInner, Format, impl_vec_wrapper};
2
3mod iterators;
4mod strategy;
5mod value;
6
7pub use iterators::*;
8pub use strategy::*;
9pub use value::*;
10
11/// Compressed storage using Zstd for maximum general-purpose compression.
12///
13/// Zstd (Zstandard) provides the best compression ratios among general-purpose
14/// algorithms, with good decompression speed. Ideal when storage is expensive.
15///
16/// # Performance Characteristics
17/// - Highest compression ratios (typically 3-5x, better than LZ4)
18/// - Fast decompression (slower compression than LZ4)
19/// - Works well with any data type
20///
21/// # When to Use
22/// - Storage space is expensive
23/// - Can tolerate slower compression (decompression is fast)
24#[derive(Debug, Clone)]
25#[must_use = "Vector should be stored to keep data accessible"]
26pub struct ZstdVec<I, T>(CompressedVecInner<I, T, ZstdStrategy<T>>);
27
28impl_vec_wrapper!(
29    ZstdVec,
30    CompressedVecInner<I, T, ZstdStrategy<T>>,
31    ZstdVecValue,
32    ZstdVecIterator,
33    CleanZstdVecIterator,
34    DirtyZstdVecIterator,
35    Format::Zstd
36);