pub struct CompressionStats {
pub total_blocks: usize,
pub compressed_blocks: usize,
pub total_uncompressed_size: usize,
pub total_compressed_size: usize,
pub compression_ratio: f64,
pub compression_time: f64,
pub decompression_time: f64,
pub cache_hits: usize,
pub cache_misses: usize,
pub out_of_core_reads: usize,
pub out_of_core_writes: usize,
}
Expand description
Statistics for compression operations
Fields§
§total_blocks: usize
§compressed_blocks: usize
§total_uncompressed_size: usize
§total_compressed_size: usize
§compression_ratio: f64
§compression_time: f64
§decompression_time: f64
§cache_hits: usize
§cache_misses: usize
§out_of_core_reads: usize
§out_of_core_writes: usize
Implementations§
Source§impl CompressionStats
impl CompressionStats
Sourcepub fn update_compression(
&mut self,
original_size: usize,
compressed_size: usize,
compression_time: f64,
)
pub fn update_compression( &mut self, original_size: usize, compressed_size: usize, compression_time: f64, )
Update statistics with a new compression operation
Sourcepub fn update_decompression(&mut self, decompression_time: f64)
pub fn update_decompression(&mut self, decompression_time: f64)
Update decompression statistics
Sourcepub fn record_cache_hit(&mut self)
pub fn record_cache_hit(&mut self)
Record cache hit
Sourcepub fn record_cache_miss(&mut self)
pub fn record_cache_miss(&mut self)
Record cache miss
Sourcepub fn record_out_of_core_read(&mut self)
pub fn record_out_of_core_read(&mut self)
Record out-of-core read
Sourcepub fn record_out_of_core_write(&mut self)
pub fn record_out_of_core_write(&mut self)
Record out-of-core write
Sourcepub fn cache_hit_ratio(&self) -> f64
pub fn cache_hit_ratio(&self) -> f64
Get cache hit ratio
Sourcepub fn avg_compression_time(&self) -> f64
pub fn avg_compression_time(&self) -> f64
Get average compression time per block
Sourcepub fn avg_decompression_time(&self) -> f64
pub fn avg_decompression_time(&self) -> f64
Get average decompression time per block
Sourcepub fn compression_efficiency(&self) -> f64
pub fn compression_efficiency(&self) -> f64
Get compression efficiency (inverse of time)
Sourcepub fn space_savings(&self) -> usize
pub fn space_savings(&self) -> usize
Get space savings in bytes
Sourcepub fn space_savings_ratio(&self) -> f64
pub fn space_savings_ratio(&self) -> f64
Get space savings ratio
Sourcepub fn merge(&mut self, other: &CompressionStats)
pub fn merge(&mut self, other: &CompressionStats)
Merge with another stats instance
Trait Implementations§
Source§impl Clone for CompressionStats
impl Clone for CompressionStats
Source§fn clone(&self) -> CompressionStats
fn clone(&self) -> CompressionStats
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for CompressionStats
impl Debug for CompressionStats
Source§impl Default for CompressionStats
impl Default for CompressionStats
Source§fn default() -> CompressionStats
fn default() -> CompressionStats
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for CompressionStats
impl RefUnwindSafe for CompressionStats
impl Send for CompressionStats
impl Sync for CompressionStats
impl Unpin for CompressionStats
impl UnwindSafe for CompressionStats
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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