DEFINE HPARAM = 65599
DEFINE HPARAM2 = 4303228801
DEFINE HPARAM3 = 282287506116799
-
+ DEFINE HPARAM4 = 71034040046345985
ELSE
DEFINE WORDSIZE = 32
DEFINE HALFWORDSIZE = 16
DEFINE HPARAM = 65599
DEFINE HPARAM2 = 8261505
DEFINE HPARAM3 = 780587199
-
+ DEFINE HPARAM4 = 549173308
END
DEFINE HASHINT2 (x,y) = ((x)+HPARAM*(y))
DEFINE HASHINT3 (x,y,z) = ((x) + (y) * HPARAM + (z) * HPARAM2)
DEFINE HASHINT4 (x,y,z,t) = ((x) + (y) * HPARAM + (z)*HPARAM2 + (t)* HPARAM3)
+DEFINE HASHINT5 (x,y,z,t,u) = ((x) + (y) * HPARAM + (z)*HPARAM2 + (t)* HPARAM3 + (u)*HPARAM4)
DEFINE PRIME1 = 7
DEFINE PRIME2 = 19
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 x =
+ 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
;;
let total_time () = List.fold_left (+.) 0. !l;;