let mk_runtime run auto doc arg count print outfile =
fun () ->
if !Config.do_perf then start_perf ();
- let r = time ~count:!Config.repeat ~msg:"Execution time" (run auto doc) arg in
+ let r = Utils.time ~count:!Config.repeat ~msg:"Execution time" (run auto doc) arg in
if !Config.do_perf then stop_perf ();
- Logger.verbose Format.err_formatter "Number of results: %i@\n" (count r);
+ Logger.start_msg Format.err_formatter "[Debug] Number of results: ";
+ Logger.msg Format.err_formatter "%i" (count r);
+ Logger.end_msg Format.err_formatter "\n";
match outfile with
None -> ()
| Some file ->
- time ~count:1 ~msg:"Serialization time" (print file !Config.no_wrap_results doc) r
+ Utils.time ~count:1 ~msg:"Serialization time" (print file !Config.no_wrap_results doc) r
;;
let main v query_string output =
Tag.init (Tree.tag_operations v);
if !Config.docstats then Tree.stats v;
let query =
- time ~msg:"Parsing query" XPath.parse query_string
+ Utils.time ~msg:"Parsing query" XPath.parse query_string
in
- Logger.verbose Format.err_formatter "Parsed query:%a@\n"
- XPath.Ast.print query;
+ Logger.start_msg Format.err_formatter "[Debug]";
+ Logger.msg Format.err_formatter " Parsed query: @\n @[<v 0> {";
+ Logger.msg Format.err_formatter " %a }@]" XPath.Ast.print query;
+ Logger.end_msg Format.err_formatter "\n\n";
let auto, bu_info =
- time ~msg:"Compiling query" Compile.compile query
+ Utils.time ~msg:"Compiling query" Compile.compile query
in
- if !Config.verbose then Ata.print Format.err_formatter auto;
+ Logger.start_msg Format.err_formatter "[Debug] Automaton: ";
+ Logger.msg Format.err_formatter "@\n @[<v 0>";
+ Logger.msg Format.err_formatter "%a" Ata.print auto;
+ Logger.end_msg Format.err_formatter "\n\n";
Gc.full_major();
Gc.compact();
Gc.set (tuned_gc);
let document =
if Filename.check_suffix !Config.input_file ".srx"
then
- time
- ~msg:"Loading file"
+ Utils.time
+ ~msg:"Loading Index file"
(Tree.load
~sample:!Config.sample_factor
~load_text:(not !Config.disable_text_collection))
!Config.input_file
else
let v =
- time
- ~msg:"Parsing document"
+ Utils.time
+ ~msg:"Loading XML file"
(Tree.parse_xml_uri)
!Config.input_file
in
let () =
if !Config.save_file <> ""
then
- time
+ Utils.time
~msg:"Writing file to disk"
(Tree.save v)
!Config.save_file;
v
in
main document !Config.query !Config.output_file;
- Logger.verbose Format.err_formatter "Maximum resident set size: %s @\n" (read_procmem());
- Gc.full_major();
+IFDEF PROFILE
+ THEN
Profile.summary Format.err_formatter
+ ELSE ()
+END
with
| Ulexer.Loc.Exc_located ((x,y),e) ->
Logger.print Format.err_formatter "character %i-%i %s@\n" x y (Printexc.to_string e);