X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=utils.ml;h=b076733991c614ecf0244136a33b24880c89c1d1;hb=1b4d4c7a0537d30e21068f06535c5d3a1af92f88;hp=2e02bc50de76931c4c6934d4e36231d616d733f4;hpb=cf6d366b25132eea7b0f1966c11d034d748af0fa;p=SXSI%2Fxpathcomp.git diff --git a/utils.ml b/utils.ml index 2e02bc5..b076733 100644 --- a/utils.ml +++ b/utils.ml @@ -46,6 +46,9 @@ DEFINE SMALL_H_SIZE = PRIME2 DEFINE MED_H_SIZE = PRIME5 DEFINE BIG_H_SIZE = PRIME8 +DEFINE SMALL_A_SIZE = 128 +DEFINE MED_A_SIZE = 2048 +DEFINE BIG_A_SIZE = 8192 let read_procmem () = @@ -83,14 +86,16 @@ let time_mem f x = Printf.eprintf "Final Mem: %s\n\n\n%!" s2; r ;; -let time f x = +let time f ?(count=1) ?(msg="") x = + let rec loop i = let t1 = Unix.gettimeofday () in let r = f x in let t2 = Unix.gettimeofday () in let t = (1000. *. (t2 -. t1)) in - l:= t::!l; - Printf.eprintf " %fms\n%!" t ; - r + Printf.eprintf "%s: run %i/%i, %fms\n%!" msg i count t; + if i >= count then (l:= t::!l;r) + else loop (i+1) + in loop 1 ;; let total_time () = List.fold_left (+.) 0. !l;;