Do not unconditionally flush the current formatting in logger.
authorKim Nguyễn <kn@lri.fr>
Sun, 21 Oct 2012 10:38:25 +0000 (12:38 +0200)
committerKim Nguyễn <kn@lri.fr>
Sun, 21 Oct 2012 10:38:25 +0000 (12:38 +0200)
Leave that responsibility to the caller.

src/logger.ml
src/utils.ml

index e99fd1f..2f6e6c7 100644 (file)
@@ -40,18 +40,11 @@ let log t l fmt =
     ifprintf !logger_output fmt
 
 let print ppf fmt =
-  kfprintf (fun _ ->
-    fprintf ppf "@?")
-    ppf fmt
+  fprintf ppf fmt
 
 let _verbose = ref false
 let set_verbose b = _verbose := b
 let verbose ppf fmt =
-  if !_verbose then begin
-    kfprintf (fun _ ->
-      fprintf ppf "@?")
-      ppf fmt
-  end else 
-  ikfprintf (fun _ ->
-    fprintf ppf "@?")
-    ppf fmt
+  if !_verbose
+  then fprintf ppf fmt
+  else ifprintf ppf fmt
index 2cb3c41..0efe748 100644 (file)
@@ -82,30 +82,29 @@ module Timing =
            om, nm))
           (infinity, 0., 0., 0, h, h) l
       in
-      Logger.verbose fmt "@[%s%s: [" sub msg;
-      Format.pp_open_vbox fmt (2 + String.length msg + String.length sub);
-      if len <= 1 then
-      Logger.verbose fmt
-        "@\n\
-| Time        :   %fms@\n\
-| Memory before:  %a@\n\
-| Memory after:   %a@\n]@]@]@\n"
-        tmin
-        System.pr_mem_status memo
-        System.pr_mem_status memn
+      Logger.verbose fmt "@[%s%s: @[<v 0>[" sub msg;
+      begin
+        if len <= 1 then
+        Logger.verbose fmt
+          "@\n\
+| Time        :   %fms@\n"
+          tmin
       else
-      Logger.verbose fmt
-        "@\n\
+        Logger.verbose fmt
+          "@\n\
 | Number of runs: %i@\n\
 | Average time:   %fms@\n\
 | Minimum time:   %fms@\n\
-| Maximum time:   %fms@\n\
-| Memory before:  %a@\n\
-| Memory after:   %a@\n]@]@]@\n"
-        len
-        (ttotal /. (float_of_int len))
-        tmin
-        tmax
+| Maximum time:   %fms@\n"
+          len
+          (ttotal /. (float_of_int len))
+          tmin
+          tmax
+
+      end;
+      Logger.verbose fmt
+"| Memory before:  %a@\n\
+| Memory after:   %a@\n]@]@]@\n@?"
         System.pr_mem_status memo
         System.pr_mem_status memn