Refactor the statistics gathering code in run.ml
[tatoo.git] / src / tatoo.ml
index 24e212f..e0f29ee 100644 (file)
@@ -106,8 +106,8 @@ let main () =
 
   let module Naive = Run.Make(Naive_tree)(Naive_node_list) in
   let result_list =
-
-    let root = Naive_node_list.(add (Naive_tree.root doc) (create())) in
+    let root = Naive_node_list.create () in
+    let () = Naive_node_list.add (Naive_tree.root doc) root in
     let f, msg =
       match !Options.parallel, !Options.compose with
         true, true ->
@@ -124,10 +124,13 @@ let main () =
   let s = Naive.stats () in
   Run.(
   Logger.msg `STATS
-    "@[tree size: %d@\ntraversals: %d@\ntransition fetch cache hit ratio: %f@\ntransition eval cache hit ratio: %f@]"
-    s.tree_size s.run
+    "@[tree size: %d@\ntraversals: %d@\ntransition fetch cache hit ratio: %f@\ntransition eval cache hit ratio: %f@\nNumber of visited nodes per pass: %a@]"
+    s.tree_size s.pass
     (float s.fetch_trans_cache_hit /. float s.fetch_trans_cache_access)
-    (float s.eval_trans_cache_hit /. float s.eval_trans_cache_access));
+    (float s.eval_trans_cache_hit /. float s.eval_trans_cache_access)
+    (let i = ref 0 in
+     Pretty.print_list ~sep:"," (fun fmt n -> Format.fprintf fmt "%i: %i" !i n;incr i))
+    s.nodes_per_run);
   time (fun () ->
     let count = ref 1 in
     List.iter (fun results ->