X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=benchmark%2Fmain.ml;h=b80faed1f981f33a86aa1d7b9ad6f953d29b965f;hb=ff0d1111e34d2aba9b6454e0c95b67bd38ba392c;hp=7f6b3ad427fdae0e648c2dc38a0a5690dbfa6e25;hpb=eebef30070a951d852ce5811b289d8131a5300eb;p=SXSI%2Fxpathcomp.git diff --git a/benchmark/main.ml b/benchmark/main.ml index 7f6b3ad..b80faed 100644 --- a/benchmark/main.ml +++ b/benchmark/main.ml @@ -27,6 +27,26 @@ Saxon 9.0.0.4J from Saxonica" let reference = false end +module QizxOpen : ENGINE = +struct + let name = "QizxOpen" + + (* Todo call the binary to actually compute the version string *) + let description = +"QizX/Open v2.1 +Java version 1.6.0_0" + let command = "/usr/local/qizxopen-2.1/bin/qizx" + let reference = false + let time_factor = 1.0 + let mk_queryfile b doc q out = build_xquery doc q out b + let mk_cmdline b qout qfile _ _ = [ "-v" ; "-out"^ (if b then qout else "/dev/null");"-q"; qfile ] + let parse_rules = [ + (".*display time: \\([0-9]+\\) ms.*", + [ Query_execution_time 1 ]); + ] + let reference = false +end + module XsltProc : ENGINE = struct let name = "XSLTProc" @@ -62,7 +82,9 @@ struct let reference = false let time_factor = 1.0 let mk_queryfile b doc q out = () - let mk_cmdline b qout qfile doc q = [ doc; q ]@ (if b then [qout] else []) + let mk_cmdline b qout qfile doc q = + let doc' = (Filename.chop_suffix doc ".xml")^".srx" in + [ doc'; q ]@ (if b then [qout] else []) let parse_rules = [ ( ".*Parsing document :[ \\t]*\\([0-9]+\\.[0-9]*\\)ms.*", [ Input_parsing_time 1]); @@ -79,34 +101,23 @@ struct end -module CONF : CONFIGURATION = -struct - let path = "." - let result_basename = "test" - let num_runs = 1 - let run_with_output = false - let run_without_output = true -end -module I = INIT_TESTER (CONF) -module TestOld = MK (SXSI) (MK (SaxonBXQuery) (I)) -module Test = MK (SXSI) (I) +INCLUDE "config.ml" -let l = Test.test_engine [] (make_queryset - ["/home/kim/Documents/Work/Code/xpathcomp/tests/tiny.xml"] - ["/child::*"]) +let l = TEST.test_engine [] (make_queryset + documents + queries + ) ;; - - - List.iter (function (e,d),s -> Printf.printf "\n-------------- %s -----------------" e; - Array.iter ( fun i -> - print_newline (); - print_newline (); - print_stats Format.std_formatter i) (List.hd s); + List.iter (fun k -> + Array.iter ( fun i -> + print_newline (); + print_newline (); + print_stats Format.std_formatter i) k) s; Printf.printf "\n----------------------------------------\n" ) l