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 () =
let l = ref [] ;;
let init_timer() = l := [];;
-let time f x =
+let time_mem f x =
let s1 = read_procmem() in
let t1 = Unix.gettimeofday () in
let r = f x in
l:= t::!l;
Printf.eprintf " %fms\n%!" t ;
Printf.eprintf "Mem use before: %s\n%!" s1;
- Printf.eprintf "Mem use after: %s\n\n\n%!" s2;
+ Printf.eprintf "Final Mem: %s\n\n\n%!" s2;
r
;;
+let time f ?(count=1) 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
+ Printf.eprintf "run %i/%i, %fms\n%!" 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;;
END (* IFNDEF UTILS__ML__ *)