aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Camlcoq.ml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Camlcoq.ml')
-rw-r--r--lib/Camlcoq.ml22
1 files changed, 21 insertions, 1 deletions
diff --git a/lib/Camlcoq.ml b/lib/Camlcoq.ml
index e057771e..2415e1d9 100644
--- a/lib/Camlcoq.ml
+++ b/lib/Camlcoq.ml
@@ -267,7 +267,7 @@ let camlfloat_of_coqfloat f =
(* Timing facility *)
(*
-let timers = (Hashtbl.create 9 : (string, float) Hashtbl.t)
+let timers = Hashtbl.create 9
let add_to_timer name time =
let old = try Hashtbl.find timers name with Not_found -> 0.0 in
@@ -283,6 +283,26 @@ let time name fn arg =
add_to_timer name (Unix.gettimeofday() -. start);
raise x
+let time2 name fn arg1 arg2 =
+ let start = Unix.gettimeofday() in
+ try
+ let res = fn arg1 arg2 in
+ add_to_timer name (Unix.gettimeofday() -. start);
+ res
+ with x ->
+ add_to_timer name (Unix.gettimeofday() -. start);
+ raise x
+
+let time3 name fn arg1 arg2 arg3 =
+ let start = Unix.gettimeofday() in
+ try
+ let res = fn arg1 arg2 arg3 in
+ add_to_timer name (Unix.gettimeofday() -. start);
+ res
+ with x ->
+ add_to_timer name (Unix.gettimeofday() -. start);
+ raise x
+
let print_timers () =
Hashtbl.iter
(fun name time -> Printf.printf "%-20s %.3f\n" name time)