- XPath.Ast.print Format.err_formatter query;
- Format.fprintf Format.err_formatter "\n%!";
- Printf.eprintf "Compiling query : ";
- let auto,ltags,contains = time (XPath.Compile.compile ~querystring:query_string) query in
- let _ = Ata.dump Format.err_formatter auto in
- let _ = Printf.eprintf "%!" in
- let jump_to =
- match contains with
- None -> (max_int,`NOTHING)
- | Some s ->
- let r = Tree.count v s
- in
- Printf.eprintf "%i documents in the TextCollection\n" (Tree.text_size v);
- Printf.eprintf "Global count is %i, using " r;
- if r < !Options.tc_threshold then begin
- Printf.eprintf "TextCollection contains\nCalling global contains : ";
- time (Tree.init_contains v) s;
- end
- else begin
- Printf.eprintf "Naive contains\nCalling global contains : ";
- time (Tree.init_naive_contains v) s
- end;(r,`CONTAINS(s))
- in
- let test_list = jump_to in
- (*
+ let _ = Printf.eprintf "Number of nodes %i\n%!" (Tree.size v) in
+ let _ = Printf.eprintf "Timing first_child/next_sibling %!" in
+ let _ = time (Tree.benchmark_fsns) v in
+ let _ = Printf.eprintf "Timing jump to a %!" in
+ let _ = time (Tree.benchmark_jump v) (Tag.tag "a") in
+
+(* let _ = Printf.eprintf "Timing //keyword :" in
+ let r = time (test_loop v) (Tag.tag "keyword") in
+ let _ = Printf.eprintf "Count is %i\n%!" r in
+ let _ = Printf.eprintf "Timing //keyword 2:" in
+ let r = time (test_loop2 v) (Tag.tag "keyword") in
+ let _ = Printf.eprintf "Count is %i\n%!" r in
+ let _ = Printf.eprintf "Timing //node() :" in
+ let _ = time (test_full) v in *)
+ XPath.Ast.print Format.err_formatter query;
+ Format.fprintf Format.err_formatter "\n%!";
+ Printf.eprintf "Compiling query : ";
+ let auto,ltags,contains = time (XPath.Compile.compile ~querystring:query_string) query in
+ let _ = Ata.dump Format.err_formatter auto in
+ let _ = Printf.eprintf "%!" in
+ let jump_to =
+ match contains with
+ None -> (max_int,`NOTHING)
+ | Some ((op,s)) ->
+ let r = Tree.count v s
+ in
+ Printf.eprintf "%i documents in the TextCollection\n" (Tree.text_size v);
+ Printf.eprintf "Global count is %i, using " r;
+ if r < !Options.tc_threshold then begin
+ Printf.eprintf "TextCollection contains\nCalling global contains : ";
+ time (Tree.init_textfun op v) s;
+ end
+ else begin
+ Printf.eprintf "Naive contains\nCalling global contains : ";
+ time (Tree.init_naive_contains v) s
+ end;(r,`CONTAINS(s))
+ in
+ let test_list = jump_to in
+ (*