From abad0a15ac44cb5b53b87382bb4d587d9800a0f6 Mon Sep 17 00:00:00 2001 From: Hugo Herbelin Date: Thu, 3 Jul 2014 12:43:28 +0200 Subject: time tac --- lib/system.ml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'lib/system.ml') diff --git a/lib/system.ml b/lib/system.ml index 6c357ee364..4188eb2b4a 100644 --- a/lib/system.ml +++ b/lib/system.ml @@ -279,3 +279,19 @@ let fmt_time_difference (startreal,ustart,sstart) (stopreal,ustop,sstop) = str "," ++ real (round (sstop -. sstart)) ++ str "s" ++ str ")" + +let with_time time f x = + let tstart = get_time() in + let msg = if time then "" else "Finished transaction in " in + try + let y = f x in + let tend = get_time() in + let msg2 = if time then "" else " (successful)" in + msg_info (str msg ++ fmt_time_difference tstart tend ++ str msg2); + y + with e -> + let tend = get_time() in + let msg = if time then "" else "Finished failing transaction in " in + let msg2 = if time then "" else " (failure)" in + msg_info (str msg ++ fmt_time_difference tstart tend ++ str msg2); + raise e -- cgit v1.2.3