X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=benchmark%2Fbenchmark.ml;h=c726166e49f04d91b06fdd5e4cfb7d5a12a35bd2;hb=0c2338bfcdae0df1c68112a10247dc4e68a483ff;hp=da741dba86e764aa2d575c5885263a7737616160;hpb=3623eefccfb5fc69e19ad975a3669f51a2a8b276;p=SXSI%2Fxpathcomp.git diff --git a/benchmark/benchmark.ml b/benchmark/benchmark.ml index da741db..c726166 100644 --- a/benchmark/benchmark.ml +++ b/benchmark/benchmark.ml @@ -251,27 +251,29 @@ struct 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