Struct zarrs::array::codec::array_to_bytes::pcodec::PcodecCodecConfigurationV1
source · pub struct PcodecCodecConfigurationV1 {
pub level: PcodecCompressionLevel,
pub delta_encoding_order: Option<PcodecDeltaEncodingOrder>,
pub int_mult_spec: bool,
pub float_mult_spec: bool,
pub max_page_n: usize,
}
pcodec
only.Expand description
Configuration parameters for the pcodec
codec (version 1.0 draft).
Based upon pco::ChunkConfig
.
§Example: encode with a compression level of 12 and otherwise default parameters
{
"level": 12
}
Fields§
§level: PcodecCompressionLevel
A compression level from 0-12, where 12 takes the longest and compresses the most.
The default is 8.
delta_encoding_order: Option<PcodecDeltaEncodingOrder>
Either a delta encoding level from 0-7 or None.
If set to None, pcodec will try to infer the optimal delta encoding order. The default is None.
int_mult_spec: bool
If enabled, pcodec will consider using int mult mode, which can substantially improve compression ratio but decrease speed in some cases for integer types.
The default is true.
float_mult_spec: bool
If enabled, pcodec will consider using float mult mode, which can substantially improve compression ratio but decrease speed in some cases for float types.
The default is true.
max_page_n: usize
The maximum number of values to encode per pcodec page.
If set too high or too low, pcodec’s compression ratio may drop. See https://docs.rs/pco/latest/pco/enum.PagingSpec.html#variant.EqualPagesUpTo.
The default is 1 << 18
.
Trait Implementations§
source§impl Clone for PcodecCodecConfigurationV1
impl Clone for PcodecCodecConfigurationV1
source§fn clone(&self) -> PcodecCodecConfigurationV1
fn clone(&self) -> PcodecCodecConfigurationV1
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for PcodecCodecConfigurationV1
impl Debug for PcodecCodecConfigurationV1
source§impl Default for PcodecCodecConfigurationV1
impl Default for PcodecCodecConfigurationV1
source§impl<'de> Deserialize<'de> for PcodecCodecConfigurationV1
impl<'de> Deserialize<'de> for PcodecCodecConfigurationV1
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl Display for PcodecCodecConfigurationV1
impl Display for PcodecCodecConfigurationV1
source§impl From<PcodecCodecConfigurationV1> for PcodecCodecConfiguration
impl From<PcodecCodecConfigurationV1> for PcodecCodecConfiguration
source§fn from(original: PcodecCodecConfigurationV1) -> PcodecCodecConfiguration
fn from(original: PcodecCodecConfigurationV1) -> PcodecCodecConfiguration
source§impl PartialEq for PcodecCodecConfigurationV1
impl PartialEq for PcodecCodecConfigurationV1
source§fn eq(&self, other: &PcodecCodecConfigurationV1) -> bool
fn eq(&self, other: &PcodecCodecConfigurationV1) -> bool
self
and other
values to be equal, and is used
by ==
.impl Copy for PcodecCodecConfigurationV1
impl Eq for PcodecCodecConfigurationV1
impl StructuralPartialEq for PcodecCodecConfigurationV1
Auto Trait Implementations§
impl Freeze for PcodecCodecConfigurationV1
impl RefUnwindSafe for PcodecCodecConfigurationV1
impl Send for PcodecCodecConfigurationV1
impl Sync for PcodecCodecConfigurationV1
impl Unpin for PcodecCodecConfigurationV1
impl UnwindSafe for PcodecCodecConfigurationV1
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<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.