#[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: usize
The number of enodes in the egraph at the start of this iteration.
egraph_classes: usize
The 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: f64
Seconds spent running hooks.
search_time: f64
Seconds spent searching in this iteration.
apply_time: f64
Seconds spent applying rules in this iteration.
rebuild_time: f64
Seconds spent rebuild
ing
the egraph in this iteration.
total_time: f64
Total time spent in this iteration, including data generation time.
data: IterData
The user provided annotation for this iteration
n_rebuilds: usize
The 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> Send for Iteration<IterData> where
IterData: Send,
impl<IterData> Sync for Iteration<IterData> where
IterData: Sync,
impl<IterData> Unpin for Iteration<IterData> where
IterData: Unpin,
impl<IterData> UnwindSafe for Iteration<IterData> where
IterData: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more