pub struct Timestamp { /* private fields */ }Implementations§
Source§impl Timestamp
impl Timestamp
Sourcepub fn new(start: Instant) -> Self
pub fn new(start: Instant) -> Self
Examples found in repository?
examples/simple.rs (line 60)
35fn simplify_with(
36 s: &str,
37 scheduler: impl RewriteScheduler<SimpleLanguage, ()> + 'static,
38 path: impl AsRef<Path>,
39) {
40 // parse the expression, the type annotation tells it which Language to use
41 let expr: RecExpr<SimpleLanguage> = s.parse().unwrap();
42
43 let mut egraph = EGraph::new(());
44 let root = egraph.add_expr(&expr);
45
46 // simplify the expression using a Runner, which creates an e-graph with
47 // the given expression and runs the given rules over it
48 Runner::default()
49 .with_scheduler(
50 LoggingScheduler::from(scheduler)
51 .with_out_file(
52 OpenOptions::new()
53 .write(true)
54 .create(true)
55 .truncate(true)
56 .open(path.as_ref())
57 .unwrap(),
58 )
59 .with_logging_enabled(true)
60 .with_recorder(recorders::Timestamp::new(Instant::now()))
61 .with_recorder(recorders::NumberENodes)
62 .with_recorder(recorders::NumberEClasses)
63 .with_recorder(recorders::BestProgram::new_with(|| AstSize, root)),
64 )
65 .with_egraph(egraph)
66 .run(&make_rules());
67
68 println!("Wrote {:?}", path.as_ref());
69}Trait Implementations§
Source§impl<L, N> Recorder<L, N> for Timestamp
impl<L, N> Recorder<L, N> for Timestamp
fn identifier(&self) -> Cow<'static, str>
fn record_before_rewrite( &self, iteration: usize, egraph: &mut EGraph<L, N>, rewrite: &Rewrite<L, N>, matches: &[SearchMatches<'_, L>], ) -> Option<String>
fn record_after_rewrite( &self, iteration: usize, egraph: &mut EGraph<L, N>, rewrite: &Rewrite<L, N>, n_matches: usize, ) -> Option<String>
fn record_before_search<'r>( &self, iteration: usize, egraph: &'r EGraph<L, N>, rewrite: &'r Rewrite<L, N>, ) -> Option<String>
fn record_after_search<'r>( &self, iteration: usize, egraph: &'r EGraph<L, N>, rewrite: &'r Rewrite<L, N>, matches: &[SearchMatches<'_, L>], ) -> Option<String>
Auto Trait Implementations§
impl Freeze for Timestamp
impl RefUnwindSafe for Timestamp
impl Send for Timestamp
impl Sync for Timestamp
impl Unpin for Timestamp
impl UnsafeUnpin for Timestamp
impl UnwindSafe for Timestamp
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more