pub struct AmdStats {
pub ncmpa: u32,
pub n_clear_flag: u32,
pub n_mass_elim: u32,
pub n_supervar_merge: u32,
pub n_dense_deferred: u32,
pub ndiv: u64,
pub nms_lu: u64,
pub nms_ldl: u64,
}Expand description
Diagnostic counters collected during AMD ordering.
In release builds only ncmpa has non-zero cost; the other
populated fields add no branches to the hot loop. In debug builds
every field is populated except n_clear_flag, which is a
not-yet-wired constant 0 (see its field doc).
Fields§
§ncmpa: u32Number of garbage-collection compactions fired.
n_clear_flag: u32Number of mark-array generation-counter resets.
Currently always 0: not wired to a backing counter. The reset
it would count (clear_flag) only fires when the generation
counter wflg reaches wbig = i32::MAX - n, which during
elimination requires n on the order of tens of thousands, so
the true count is 0 on every practically testable input.
n_mass_elim: u32Number of variables absorbed by mass elimination (Slice B).
n_supervar_merge: u32Number of supervariable merges detected (Slice B).
n_dense_deferred: u32Number of variables placed into the dense-deferred bucket at initialization.
ndiv: u64Flop counter: divisions (faer amd.rs:547-566).
nms_lu: u64Flop counter: LU multiply-subtracts.
nms_ldl: u64Flop counter: LDLᵀ multiply-subtracts.