Implement a new automaton run (non optimized) with cleaner semantics w.r.t. ranked...
[tatoo.git] / src / tatoo.ml
index e0f29ee..eac804a 100644 (file)
@@ -104,10 +104,10 @@ let main () =
       Logger.msg `STATS "@[Automaton: @\n%a@]" Ata.print auto) auto_list;
   end;
 
-  let module Naive = Run.Make(Naive_tree)(Naive_node_list) in
+  let module Naive = Run.Make(Naive_tree) in
   let result_list =
-    let root = Naive_node_list.create () in
-    let () = Naive_node_list.add (Naive_tree.root doc) root in
+    let root = Sequence.create () in
+    let () = Sequence.add (Naive_tree.root doc) root in
     let f, msg =
       match !Options.parallel, !Options.compose with
         true, true ->
@@ -121,16 +121,6 @@ let main () =
     in
     time f () ("evaluating query in " ^ msg ^ " mode")
   in
-  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@\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)
-    (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 ->
@@ -138,10 +128,10 @@ let main () =
       output_string output (string_of_int !count);
       output_string output "\" >\n";
       if !Options.count then begin
-        output_string output (string_of_int (Naive_node_list.length results));
+        output_string output (string_of_int (Sequence.length results));
         output_char output '\n';
       end else
-        Naive_node_list.iter (fun n ->
+        Sequence.iter (fun n ->
           Naive_tree.print_xml output doc n;
           output_char output '\n'
         ) results;