pub struct AmdSubstages {
pub workspace_new_us: u64,
pub run_elimination_us: u64,
pub finalize_permutation_us: u64,
}Expand description
Per-sub-stage wall-clock breakdown of one AMD call.
Returned by amd_order_substages alongside the permutation.
All fields are wall-clock microseconds for that single call.
Sum is approximately equal to the total time reported by
amd_order_full’s OrderingStats::time_us, modulo a few
hundred ns of Instant::now() overhead.
Used by the small-n diagnostic probe
feral::bin::diag_amd_substages to attribute the per-call AMD
cost between workspace allocation, the main elimination loop,
and permutation finalisation. See
dev/plans/phase-2.13-tail-diagnostic.md step 5.
Fields§
§workspace_new_us: u64Time spent in AmdWorkspace::new: input ingest, vector
allocations, initial degree lists, dense-row deferral.
run_elimination_us: u64Time spent in the main pivot/eliminate/finalize loop
(select_pivot + create_element + finalize_step).
finalize_permutation_us: u64Time spent in the assembly-tree postorder and final permutation emission.
Trait Implementations§
Source§impl Clone for AmdSubstages
impl Clone for AmdSubstages
Source§fn clone(&self) -> AmdSubstages
fn clone(&self) -> AmdSubstages
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more