Struct egg::Iteration [−][src]
#[non_exhaustive]pub struct Iteration<IterData> {
pub egraph_nodes: usize,
pub egraph_classes: usize,
pub applied: IndexMap<Symbol, usize, FxBuildHasher>,
pub hook_time: f64,
pub search_time: f64,
pub apply_time: f64,
pub rebuild_time: f64,
pub total_time: f64,
pub data: IterData,
pub n_rebuilds: usize,
pub stop_reason: Option<StopReason>,
}Expand description
Data generated by running a Runner one iteration.
If the serde-1 feature is enabled, this implements
serde::Serialize, which is useful if you want to output
this as a JSON or some other format.
Fields (Non-exhaustive)
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.egraph_nodes: usizeThe number of enodes in the egraph at the start of this iteration.
egraph_classes: usizeThe number of eclasses in the egraph at the start of this iteration.
applied: IndexMap<Symbol, usize, FxBuildHasher>A map from rule name to number of times it was newly applied in this iteration.
hook_time: f64Seconds spent running hooks.
search_time: f64Seconds spent searching in this iteration.
apply_time: f64Seconds spent applying rules in this iteration.
rebuild_time: f64Seconds spent rebuilding
the egraph in this iteration.
total_time: f64Total time spent in this iteration, including data generation time.
data: IterDataThe user provided annotation for this iteration
n_rebuilds: usizeThe number of rebuild iterations done after this iteration completed.
stop_reason: Option<StopReason>If the runner stopped on this iterations, this is the reason
Trait Implementations
Auto Trait Implementations
impl<IterData> RefUnwindSafe for Iteration<IterData> where
IterData: RefUnwindSafe,
impl<IterData> UnwindSafe for Iteration<IterData> where
IterData: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
