Supprimer des fonctions 'keep_elements' et 'keep_attributs'
[tatoo.git] / src / table_driver.ml
index 64d1a1d..6ac6acb 100644 (file)
@@ -24,18 +24,24 @@ let main () =
       parse_xpath q) 
       !Table_options.queries
   in
+  let t1 = Unix.gettimeofday () in
   let query_tree_list =
     List.map (fun query -> compile_xpath query) queries
   in
-     List.iter ( fun q -> 
-      let res = eval_query_tree doc [ (Naive_tree.root doc) ] q in
-      print_string "<xml_result num=\"1\" >\n";
-      print_node_list doc res;
-      print_string "</xml_result>\n"
-    ) query_tree_list ;
+  let mini_qtree_list = 
+    List.map (fun qtree -> Query_tree.minimize_qtree qtree) query_tree_list 
+  in
+  List.iter ( fun q -> 
+    let res = eval_qtree doc [ (Naive_tree.root doc) ] q in
+    print_string "<xml_result num=\"1\" >\n";
+    print_node_list doc res;
+    print_string "</xml_result>\n";
+  ) mini_qtree_list ;
   
+  let t2 = Unix.gettimeofday () in
+  let t = (t2 -. t1) *. 1000. in
   let _ = if !Table_options.count then 
-       Format.fprintf Format.std_formatter "there are %i nodes\n" !Query_tree.compteur;
+       Format.fprintf Format.std_formatter "there are %i nodes\nit takes %fms\n" !Query_tree.compteur t;
   in
   exit 0