X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=components%2Fextlib%2FhExtlib.ml;h=bf725122c260e31f0b8c4595e36f9af2833db2fb;hb=3f00ce2e2e2f2d443e942d86c394200554ba2496;hp=cf43e15a03677cff942a0ece003cc85ab0ff972b;hpb=1afc33fa6997763d76e420cfdf9956208806b95c;p=helm.git diff --git a/components/extlib/hExtlib.ml b/components/extlib/hExtlib.ml index cf43e15a0..bf725122c 100644 --- a/components/extlib/hExtlib.ml +++ b/components/extlib/hExtlib.ml @@ -34,9 +34,13 @@ let something_profiled = ref false let _ = if !something_profiled then at_exit - (fun _ -> prerr_endline - (Printf.sprintf "!! %-39s %6s %9s %9s %9s" - "function" "#calls" "total" "max" "average")) + (fun _ -> + prerr_endline + (Printf.sprintf "!! %39s ---------- --------- --------- ---------" + (String.make 39 '-')); + prerr_endline + (Printf.sprintf "!! %-39s %10s %9s %9s %9s" + "function" "#calls" "total" "max" "average")) let profiling_printings = ref (fun _ -> true) let set_profiling_printings f = profiling_printings := f @@ -67,11 +71,11 @@ let profile ?(enable = true) s = in at_exit (fun () -> - if !profiling_printings s && !total <> 0. then + if !profiling_printings s && !calls <> 0 then begin something_profiled := true; prerr_endline - (Printf.sprintf "!! %-39s %6d %9.4f %9.4f %9.4f" + (Printf.sprintf "!! %-39s %10d %9.4f %9.4f %9.4f" s !calls !total !max (!total /. (float_of_int !calls))) end); { profile = profile } @@ -361,3 +365,7 @@ let raise_localized_exception ~offset floc exn = { flocb with Lexing.pos_cnum = x }, { floce with Lexing.pos_cnum = y } in raise (Localized (floc, exn)) + +let estimate_size x = + 4 * (String.length (Marshal.to_string x [])) / 1024 +