X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=main.ml;h=e7bdd355a2026de6d82740f01fde95fd7d90861a;hb=496df5f7d3e6f8271763314f2067719cc2904c71;hp=3c698cd0bfe67d4dfbefbe2ef4cac719d45f248a;hpb=280fbebb046069cea454507fa7933b4330bff1eb;p=SXSI%2Fxpathcomp.git diff --git a/main.ml b/main.ml index 3c698cd..e7bdd35 100644 --- a/main.ml +++ b/main.ml @@ -21,6 +21,20 @@ let time f x = ;; let total_time () = List.fold_left (+.) 0. !l;; +let test filename query output = + Printf.eprintf "Parsing document : %!"; + let v = time Tree.Binary.parse_xml_uri filename in +(* Tree.dump v; + Printf.eprintf "\n\n\n\n\n%!"; + Tree.Binary.print_xml_fast stderr v *) + Printf.eprintf "Full Traversal\n%!"; + time (Tree.full_traversal) v; + Printf.eprintf "Traversal\n%!"; + time (Tree.traversal) v; + Printf.eprintf "CPP Traversal\n%!"; + time (Tree.cpp_traversal) v + + let main filename query output = Printf.eprintf "Parsing document : %!"; let v = time Tree.Binary.parse_xml_uri filename in @@ -41,9 +55,9 @@ let main filename query output = Printf.eprintf "TopDown (No BackTrack) : \n"; time (fun v -> ignore (TopDown.accept auto v)) v; - P(Printf.eprintf "Max states in TopDownNOBT : %i\n%!" auto.max_states); + Printf.eprintf "Number of nodes in the result set : %i\n" (BST.cardinal auto.result); begin - match output with + match output with | None -> () | Some f -> @@ -65,5 +79,7 @@ then (prerr_endline ("usage : " ^ Sys.argv.(0) ^ " \'query\'[ ]"); exit 1) ;; -main Sys.argv.(1) Sys.argv.(2) (if argc == 4 then Some Sys.argv.(3) else None) ;; + + +test Sys.argv.(1) Sys.argv.(2) (if argc == 4 then Some Sys.argv.(3) else None) ;;