pub type VariableCodecSpec = Codec;renamed to Codec; use Codec instead
Expand description
Aliased Type§
pub enum VariableCodecSpec {
}Variants§
Gamma
Elias γ-coding. A simple, universal code that is effective for integers with a distribution skewed towards small values. It is the default codec for the iterator-based builder, which cannot perform data analysis.
Delta
Elias δ-coding. A universal code that is generally more efficient than Gamma for larger integer values.
Unary
Unary coding. Encodes an integer n as n zeros followed by a one. It is
only efficient for extremely small values (e.g., 0, 1, 2).
Rice
Rice-coding with a parameter log2_b. This code is optimal for data with
a geometric distribution.
- If
log2_bisSome(val), the specified parameter is used. - If
log2_bisNone, an optimal parameter is estimated by analyzing the entire dataset.
Zeta
Boldi-Vigna ζ-coding with a parameter k. This code is effective for
data with a power-law distribution, common in web graphs and social networks.
- If
kisSome(val), the specified parameter is used (k > 0). - If
kisNone, an optimal parameter is estimated by analyzing the entire dataset.
Golomb
Golomb-coding with a parameter b. This is a generalization of Rice coding
and is also suitable for geometric distributions.
- If
bisSome(val), the specified parameter is used (b > 0). - If
bisNone, an optimal parameter is estimated by analyzing the entire dataset.
Omega
Elias-Fano ω-coding. A universal code.
Pi
Streamlined Apostolico–Drovandi π code with a parameter k.
- If
kisSome(val), the specified parameter is used (k > 0). - If
kisNone, an optimal parameter is estimated by analyzing the entire dataset.
ExpGolomb
Elias-Fano Exponential-Golomb coding with a parameter k.
- If
kisSome(val), the specified parameter is used. - If
kisNone, an optimal parameter is estimated by analyzing the entire dataset.
VByteLe
VByte encoding with Little-Endian byte order. This is often one of the fastest codecs for decoding, though it may not offer the best compression.
VByteBe
VByte encoding with Big-Endian byte order.
Auto
Automatically select the best variable-length code based on the data.
When this option is used, the builder performs a statistical analysis on the entire input dataset to determine which codec and parameterization provides the best compression ratio.
§Note
This option is not supported for the iterator-based builder, as it requires pre-analyzing the data.
Explicit(Codes)
Use an explicitly provided Codes variant from dsi-bitstream.
This is for advanced use cases where the user has already constructed
a Codes enum instance.