pub struct GdsfMeta {
pub frequency: u64,
pub priority: f64,
}Expand description
Metadata for GDSF (Greedy Dual-Size Frequency) cache entries.
GDSF is a sophisticated algorithm that considers:
- Frequency: How often the item is accessed
- Size: Larger items have lower priority per byte
- Aging: Global clock advances when items are evicted
§Priority Calculation
priority = (frequency / size) + global_ageItems with lower priority are evicted first.
§Examples
use cache_rs::meta::GdsfMeta;
let meta = GdsfMeta::new(1, 0.5); // frequency=1, priority=0.5
assert_eq!(meta.frequency, 1);
assert_eq!(meta.priority, 0.5);Fields§
§frequency: u64Access frequency count.
priority: f64Calculated priority: (frequency / size) + clock. Lower priority = more likely to be evicted.
Implementations§
Source§impl GdsfMeta
impl GdsfMeta
Trait Implementations§
impl Copy for GdsfMeta
impl StructuralPartialEq for GdsfMeta
Auto Trait Implementations§
impl Freeze for GdsfMeta
impl RefUnwindSafe for GdsfMeta
impl Send for GdsfMeta
impl Sync for GdsfMeta
impl Unpin for GdsfMeta
impl UnwindSafe for GdsfMeta
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