X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=main.ml;h=2f12d19e6a23b1dcee9c385cb2655634b9483e6f;hb=c5f06d325240c808a9be4d71e20fc01969420bb3;hp=c9885e61ffe425757be3c1d26ac7a21c0abd6507;hpb=477c1bef21a38e8371a745da9491fd6a6aae2aa5;p=SXSI%2Fxpathcomp.git diff --git a/main.ml b/main.ml index c9885e6..2f12d19 100644 --- a/main.ml +++ b/main.ml @@ -6,24 +6,20 @@ (******************************************************************************) open Ata +INCLUDE "utils.ml" +let () = init_timer();; -let l = ref [] ;; -let time f x = - let t1 = Unix.gettimeofday () in - let r = f x in - let t2 = Unix.gettimeofday () in - let t = (1000. *. (t2 -. t1)) in - l:= t::!l; - Printf.eprintf " %fms\n%!" t ; - r -;; -let total_time () = List.fold_left (+.) 0. !l;; let enabled_gc = Gc.get() let disabled_gc = { Gc.get() with Gc.max_overhead = 1000000; Gc.space_overhead = 100 } + + + + let main v query_string output = + let _ = Tag.init (Tree.tag_pool v) in Printf.eprintf "Parsing query : "; let query = try @@ -98,7 +94,7 @@ let main v query_string output = in () else let result = time (top_down auto) v in - let rcount = GResult.length result in + let rcount = IdSet.length result in Printf.eprintf "Number of nodes in the result set : %i\n" rcount; Printf.eprintf "\n%!"; begin @@ -109,7 +105,7 @@ let main v query_string output = time( fun () -> let oc = open_out f in output_string oc "\n"; - GResult.iter (fun t -> + IdSet.iter (fun t -> Tree.print_xml_fast oc v t; output_char oc '\n'; @@ -122,7 +118,7 @@ let main v query_string output = Options.parse_cmdline();; -let v = +let v = if (Filename.check_suffix !Options.input_file ".srx") then begin