Make the program report query execution time and query serialization time.
[tatoo.git] / src / main.ml
index 9a5fd69..d6a1986 100644 (file)
@@ -14,7 +14,7 @@
 (***********************************************************************)
 
 (*
-  Time-stamp: <Last modified on 2013-03-10 10:49:33 CET by Kim Nguyen>
+  Time-stamp: <Last modified on 2013-03-13 21:29:17 CET by Kim Nguyen>
 *)
 
 let doc =
@@ -37,11 +37,16 @@ let () =
   fprintf err_formatter "Automata: %a\n%!" Auto.Ata.print auto;
   fprintf err_formatter "Evaluating automaton:\n%!";
   let module Naive = Auto.Eval.Make(Tree.Naive) in
+  let t1 = Unix.gettimeofday() in
   let results = Naive.eval auto doc (Tree.Naive.root doc) in
+  let teval = (Unix.gettimeofday () -. t1) *. 1000. in
+  let t1 = Unix.gettimeofday () in
   output_string stdout "<xml_result>\n";
   List.iter (fun n ->
     Tree.Naive.print_xml stdout doc n;
     output_char stdout '\n'
   ) results;
   output_string stdout "</xml_result>\n";
-  flush stdout
+  let tprint = (Unix.gettimeofday () -. t1) *. 1000. in
+  flush stdout;
+  fprintf err_formatter "evaluation time: %fms\nserialization time: %fms\n%!" teval tprint