#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
pub struct CpuBatchWorkspaceStats {
pub(super) preparation_calls: u64,
pub(super) preparation_worker_reuses: u64,
pub(super) decode_calls: u64,
pub(super) prepared_plan_decode_calls: u64,
pub(super) component_owner_reuses: u64,
pub(super) tier1_owner_reuses: u64,
pub(super) idwt_owner_reuses: u64,
pub(super) scratch_capacity_retries: u64,
pub(super) retained_component_bytes: usize,
pub(super) retained_tier1_bytes: usize,
pub(super) retained_idwt_bytes: usize,
pub(super) retained_prepared_plan_classic_workspace_bytes: usize,
pub(super) retained_prepared_plan_ht_workspace_bytes: usize,
pub(super) flattened_group_plans: u64,
pub(super) flattened_payload_jobs: u64,
pub(super) flattened_cleanup_jobs: u64,
pub(super) flattened_sigprop_jobs: u64,
pub(super) flattened_magref_jobs: u64,
pub(super) flattened_classic_jobs: u64,
pub(super) entropy_job_dispatches: u64,
pub(super) cross_image_entropy_windows: u64,
pub(super) compressed_arena_reuses: u64,
pub(super) retained_compressed_arena_bytes: usize,
pub(super) output_group_allocations: u64,
pub(super) output_compaction_copied_samples: u64,
}
impl CpuBatchWorkspaceStats {
#[must_use]
pub const fn preparation_calls(self) -> u64 {
self.preparation_calls
}
#[must_use]
pub const fn preparation_worker_reuses(self) -> u64 {
self.preparation_worker_reuses
}
#[must_use]
pub const fn decode_calls(self) -> u64 {
self.decode_calls
}
#[must_use]
pub const fn prepared_plan_decode_calls(self) -> u64 {
self.prepared_plan_decode_calls
}
#[must_use]
pub const fn component_owner_reuses(self) -> u64 {
self.component_owner_reuses
}
#[must_use]
pub const fn tier1_owner_reuses(self) -> u64 {
self.tier1_owner_reuses
}
#[must_use]
pub const fn idwt_owner_reuses(self) -> u64 {
self.idwt_owner_reuses
}
#[must_use]
pub const fn scratch_capacity_retries(self) -> u64 {
self.scratch_capacity_retries
}
#[must_use]
pub const fn retained_component_bytes(self) -> usize {
self.retained_component_bytes
}
#[must_use]
pub const fn retained_tier1_bytes(self) -> usize {
self.retained_tier1_bytes
}
#[must_use]
pub const fn retained_idwt_bytes(self) -> usize {
self.retained_idwt_bytes
}
#[must_use]
pub const fn retained_prepared_plan_ht_workspace_bytes(self) -> usize {
self.retained_prepared_plan_ht_workspace_bytes
}
#[must_use]
pub const fn retained_prepared_plan_classic_workspace_bytes(self) -> usize {
self.retained_prepared_plan_classic_workspace_bytes
}
#[must_use]
pub const fn flattened_group_plans(self) -> u64 {
self.flattened_group_plans
}
#[must_use]
pub const fn flattened_payload_jobs(self) -> u64 {
self.flattened_payload_jobs
}
#[must_use]
pub const fn flattened_cleanup_jobs(self) -> u64 {
self.flattened_cleanup_jobs
}
#[must_use]
pub const fn flattened_sigprop_jobs(self) -> u64 {
self.flattened_sigprop_jobs
}
#[must_use]
pub const fn flattened_magref_jobs(self) -> u64 {
self.flattened_magref_jobs
}
#[must_use]
pub const fn flattened_classic_jobs(self) -> u64 {
self.flattened_classic_jobs
}
#[must_use]
pub const fn entropy_job_dispatches(self) -> u64 {
self.entropy_job_dispatches
}
#[must_use]
pub const fn cross_image_entropy_windows(self) -> u64 {
self.cross_image_entropy_windows
}
#[must_use]
pub const fn compressed_arena_reuses(self) -> u64 {
self.compressed_arena_reuses
}
#[must_use]
pub const fn retained_compressed_arena_bytes(self) -> usize {
self.retained_compressed_arena_bytes
}
#[must_use]
pub const fn output_group_allocations(self) -> u64 {
self.output_group_allocations
}
#[must_use]
pub const fn output_compaction_copied_samples(self) -> u64 {
self.output_compaction_copied_samples
}
#[must_use]
pub const fn retained_scratch_bytes(self) -> usize {
self.retained_tier1_bytes
.saturating_add(self.retained_idwt_bytes)
}
}