pub struct SimReport {Show 25 fields
pub ticks: u32,
pub episodes: u32,
pub misses: u32,
pub miss_ticks: u32,
pub stall_ticks: u32,
pub min_slack_ticks: Option<i64>,
pub min_slack_millis: i64,
pub worst_miss: Option<WorstMiss>,
pub needed_evictions: u32,
pub reads: u32,
pub seeks: u32,
pub sectors_read: u64,
pub wasted_sectors: u64,
pub cancelled: u32,
pub failed_reads: u32,
pub evictions: u32,
pub drive_busy_micros: u64,
pub run_micros: u64,
pub peak_pages: u32,
pub max_fragmentation_permille: u32,
pub protected_full: u32,
pub pages_moved: u32,
pub max_step_work: u32,
pub total_work: u64,
pub checksum: u32,
}Expand description
What a simulation found.
Fields§
§ticks: u32Ticks simulated (route length).
episodes: u32Times a region became needed.
misses: u32Episodes where the region was not resident when needed (a stall).
miss_ticks: u32Region-ticks needed but not resident.
stall_ticks: u32Ticks with at least one unmet need (the player would be held).
min_slack_ticks: Option<i64>Smallest slack over all episodes, in ticks: how long before it was
needed the region was resident (negative: late). None without
episodes.
min_slack_millis: i64The same in milliseconds (0 without episodes).
worst_miss: Option<WorstMiss>The worst miss, if any.
needed_evictions: u32Regions evicted while the player needed them (must be 0).
reads: u32Reads started on the drive.
seeks: u32Reads that needed a seek.
sectors_read: u64Sectors read.
wasted_sectors: u64Sectors of regions evicted before the player ever needed them.
cancelled: u32Reads cancelled for a demand.
failed_reads: u32Reads that failed.
evictions: u32Regions evicted.
drive_busy_micros: u64Microseconds the drive was busy.
run_micros: u64Microseconds simulated.
peak_pages: u32Most pages in use at once.
max_fragmentation_permille: u32Worst free-space fragmentation seen, in permille.
protected_full: u32Requests that found no room (summed over steps).
pages_moved: u32Pages moved by compaction.
max_step_work: u32Most bookkeeping work units in one step.
total_work: u64Work units over the run.
checksum: u32A fingerprint of every admission, eviction and request, for determinism checks.
Implementations§
Source§impl SimReport
impl SimReport
Sourcepub fn drive_utilization_permille(&self) -> u32
pub fn drive_utilization_permille(&self) -> u32
Share of the run the drive was busy, in permille.
Trait Implementations§
impl Eq for SimReport
impl StructuralPartialEq for SimReport
Auto Trait Implementations§
impl Freeze for SimReport
impl RefUnwindSafe for SimReport
impl Send for SimReport
impl Sync for SimReport
impl Unpin for SimReport
impl UnsafeUnpin for SimReport
impl UnwindSafe for SimReport
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)