Browse thread
[GC] Evaluate memory use
- David.Mentre@i...
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 1999-11-18 (19:30) |
From: | David.Mentre@i... |
Subject: | [GC] Evaluate memory use |
[ short french: Comment connaître la consommation mémoire maximum d'un programme OCaml ? ] Hello all Caml users/hackers, Is there any way to know the maximum memory used by an OCaml program? Right now, I'm using Gc.heap_words, but it doesn't seem to be very accurate. I think because the minor heap words are not counted. Anyway to fix this? Should I use something like: let max_words_total = stats.Gc.minor_words - stats.Gc.promoted_words + stats.Gc.heap_words in Used code below: let print_computation_stats elapsed_time = let stats = Gc.stat () in let max_words_total = stats.Gc.heap_words in printf "@\n@[<v 2>##### Statistics #####@\n" ; printf "Maximum memory used: %d kBytes@\n" (max_words_total * Sys.word_size / 8 / 1024) ; printf "Processor time used: %f seconds@\n" (Sys.time ()) ; printf "Wall clock time used: %f seconds@\n" elapsed_time ; printf "@\n" ; printf "@]@\n@?" BTW, is there any simple way to evaluate Wall Clock Time used by an OCaml program? Right now, I'm using 'Unix.gettimeofday ()'. Is there a simpler way to do it? let start_time = Unix.gettimeofday () in let produced_properties = verify properties prog possible_projections in let stop_time = Unix.gettimeofday () in print_computation_stats (stop_time -. start_time) ; Best regards, david -- David.Mentre@irisa.fr -- http://www.irisa.fr/prive/dmentre/ Opinions expressed here are only mine.