pub struct CodecProfile {
pub codec: CompressionCodec,
pub avg_ratio: f64,
pub avg_compress_micros: u64,
pub avg_decompress_micros: u64,
pub total_bytes_processed: u64,
pub uses: u64,
}Expand description
Runtime profile for a single compression codec, updated via EMA on each use.
Fields§
§codec: CompressionCodecWhich codec this profile belongs to.
avg_ratio: f64Average compression ratio: compressed / original (lower = better).
avg_compress_micros: u64Average compression latency in microseconds.
avg_decompress_micros: u64Average decompression latency in microseconds.
total_bytes_processed: u64Total bytes processed (original sizes) across all recorded uses.
uses: u64Number of times this codec has been recorded.
Implementations§
Source§impl CodecProfile
impl CodecProfile
Sourcepub fn efficiency_score(&self) -> f64
pub fn efficiency_score(&self) -> f64
Efficiency score: (1.0 - avg_ratio) / (avg_compress_micros + 1).
Higher values indicate better efficiency (better ratio and faster).
Trait Implementations§
Source§impl Clone for CodecProfile
impl Clone for CodecProfile
Source§fn clone(&self) -> CodecProfile
fn clone(&self) -> CodecProfile
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for CodecProfile
impl RefUnwindSafe for CodecProfile
impl Send for CodecProfile
impl Sync for CodecProfile
impl Unpin for CodecProfile
impl UnsafeUnpin for CodecProfile
impl UnwindSafe for CodecProfile
Blanket Implementations§
impl<T> Allocation for T
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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