(** TODO: Figure out how to test "sanity" for the ltac profiler output *) Fixpoint fact (n : nat) := match n with0 => 1 | S n' => n * fact n' end. Fixpoint walk (n : nat) := match n with0 => tt | S n => walk n end. Ltac slow := idtac + (do 2 (let x := eval lazy in (walk (fact 9)) in idtac)). Ltac slow2 := idtac + (do 2 (let x := eval lazy in (walk (fact 9)) in idtac)). Ltac multi := idtac + slow + slow2. SetLtac Profiling. Goal True. Timetry (multi; fail). (* Warning: Ltac Profiler cannot yet handle backtracking into multi-success tactics;profilingresultsmaybewildlyinaccurate.
[profile-backtracking,ltac] *)
Show Ltac Profile. (* Used to be: totaltime:0.000s
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.