From 8b893c226baab084f9fbba8bd25e877dde40c0cd Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kim=20Nguy=E1=BB=85n?= Date: Fri, 20 Apr 2012 15:28:52 +0200 Subject: [PATCH] Change the read_procmem function to return the stack size of the process not the heap size. --- include/utils.ml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/include/utils.ml b/include/utils.ml index fcb74c1..a8c865e 100644 --- a/include/utils.ml +++ b/include/utils.ml @@ -37,7 +37,7 @@ DEFINE BIG_A_SIZE = 8192 let read_procmem () = let pid = Unix.getpid() in let cin = open_in (Printf.sprintf "/proc/%i/status" pid) in - let pattern = "VmHWM" in + let pattern = "VmStk" in let matchline s = let l = String.length pattern in if (String.length s) < l then false else let s' = String.sub s 0 l in @@ -64,9 +64,9 @@ let time_mem f x = let t2 = Unix.gettimeofday () in let t = (1000. *. (t2 -. t1)) in l:= t::!l; - Logger.print Format.err_formatter " %fms\n%!" t ; - Logger.print Format.err_formatter "Mem use before: %s\n%!" s1; - Logger.print Format.err_formatter "Final Mem: %s\n\n\n%!" s2; + Logger.print Format.err_formatter " %fms@\n%!" t ; + Logger.print Format.err_formatter "Mem use before: %s@\n%!" s1; + Logger.print Format.err_formatter "Final Mem: %s@\n@\n@\n%!" s2; r ;; @@ -105,18 +105,19 @@ let stop_perf () = let time f ?(count=1) ?(msg="") x = let rec loop i = Gc.compact(); + let oldstack = read_procmem () in let t1 = Unix.gettimeofday () in let r = f x in let t2 = Unix.gettimeofday () in let t = (1000. *. (t2 -. t1)) in Logger.print Format.err_formatter "%s: " msg; if (count != 1) then Logger.print Format.err_formatter "run %i/%i, " i count; - Logger.print Format.err_formatter "%fms" t; + Logger.print Format.err_formatter "%fms (stack size: before=%s, after=%s)@\n" t oldstack (read_procmem()); if i >= count then (l:= t::!l;r) else loop (i+1) in let r = loop 1 in - Logger.print Format.err_formatter "@\n"; + (*Logger.print Format.err_formatter "@\n"; *) r ;; let total_time () = List.fold_left (+.) 0. !l;; -- 2.17.1