pub struct PaneVersionRetention {
pub version_count: usize,
pub distinct_node_count: usize,
pub total_logical_node_count: usize,
pub sharing_ratio: f64,
pub distinct_struct_bytes: usize,
pub distinct_leaf_payload_bytes: usize,
pub distinct_extension_payload_bytes: usize,
pub version_metadata_bytes: usize,
pub estimated_total_retained_bytes: usize,
}Expand description
Deterministic retained-memory byte model for a PaneVersionStore.
Mirrors the canonical timeline’s
PaneInteractionTimelineRetentionDiagnostics
methodology (size_of struct estimates plus measured string payload bytes)
so the persistent and checkpointed strategies are directly comparable. The
defining economic property of structural sharing is captured here: node
struct bytes scale with physically distinct (Arc-shared) nodes, not the
logical node total summed over every retained version.
Fields§
§version_count: usizeNumber of retained versions held by the store.
distinct_node_count: usizePhysically distinct Arc node allocations across all retained versions.
total_logical_node_count: usizeSum of per-version node counts (what naive snapshot-per-version stores).
sharing_ratio: f64(total_logical - distinct) / total_logical in [0, 1].
distinct_struct_bytes: usizedistinct_node_count × (size_of::<PersistentNode>() + ARC_HEADER_BYTES).
distinct_leaf_payload_bytes: usizeMeasured leaf surface-key payload bytes over distinct nodes.
distinct_extension_payload_bytes: usizeMeasured node + leaf extension-map payload bytes over distinct nodes.
version_metadata_bytes: usizeversion_count × size_of::<VersionedPaneTree>() (the per-version handles).
estimated_total_retained_bytes: usizeEstimated total retained bytes (container + structs + payload + metadata).
Trait Implementations§
Source§impl Clone for PaneVersionRetention
impl Clone for PaneVersionRetention
Source§fn clone(&self) -> PaneVersionRetention
fn clone(&self) -> PaneVersionRetention
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for PaneVersionRetention
Source§impl Debug for PaneVersionRetention
impl Debug for PaneVersionRetention
Source§impl PartialEq for PaneVersionRetention
impl PartialEq for PaneVersionRetention
Source§fn eq(&self, other: &PaneVersionRetention) -> bool
fn eq(&self, other: &PaneVersionRetention) -> bool
self and other values to be equal, and is used by ==.