Array.iteri ( fun docnum (_,docsize) ->
let sres = [| (empty_stats()); (empty_stats()) |] in
Printf.printf "Running query %.2d on document %.2d :\n%!" qnum docnum;
- for j = (vb (not Conf.run_without_output)) to (vb Conf.run_with_output) do
- if j = 0 then Printf.printf "No output : \t%!"
- else Printf.printf "With output : \t%!";
- for i = 1 to Conf.num_runs do
- let s = extract(run_query false (j==1) qnum docnum qset) in
- if sres.(j).query_execution_time > s.query_execution_time
- then sres.(j) <- s;
- Printf.printf "pass %i ... %!" i;
+
+ for k = 0 to 1 do
+ for j = (vb (not Conf.run_without_output)) to (vb Conf.run_with_output) do
+ if j = 0 then Printf.printf "No output : \t%!"
+ else Printf.printf "With output : \t%!";
+ for i = 1 to Conf.num_runs do
+ let s = extract(run_query (k==1) (j==1) qnum docnum qset) in
+ sres.(j).query_execution_time <- s.query_execution_time;
+ sres.(j).query_compile_time <- s.query_compile_time;
+ if j == 1 then sres.(j).serialization_time <- s.serialization_time;
+ if k == 1 then sres.(j).memory_usage <- s.memory_usage;
+ Printf.printf "pass %i ... %!" i;
+ done;
+ Printf.printf "Ok\n%!";
done;
- Printf.printf "Ok\n%!";
- done;
- Printf.printf "Monitoring memory use: ... %!";
- let s = extract(run_query true false qnum docnum qset)
- in
- sres.(1).memory_usage <- s.memory_usage;
- Printf.printf "Ok\n%!";
- let _ = Array.iteri (fun i s -> s.print_output <- (i==1);
- s.query <- qnum;
- s.input_document <- docnum;
- s.input_size <- docsize) sres
- in lres := sres::!lres
+ if (k == 0)
+ then Printf.printf "Monitoring memory use: ... \n%!";
+ done;
+ let _ = Array.iteri (fun i s -> s.print_output <- (i==1);
+ s.query <- qnum;
+ s.input_document <- docnum;
+ s.input_size <- docsize) sres
+ in lres := sres::!lres
) qset.documents
)qset.queries
in