Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: [GC] Evaluate memory use
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Damien Doligez <Damien.Doligez@i...>
Subject: Re: [GC] Evaluate memory use
>From: David.Mentre@irisa.fr (David =?iso-8859-1?q?Mentré?=)

[ short french:

 > Comment connaître la consommation mémoire maximum d'un programme OCaml

 Vous pouvez répéter la question ?
]


>Is there any way to know the maximum memory used by an OCaml program?

What do you mean exactly by "maximum memory used" ?  Is it the maximum
amount of memory allocated from the OS or the maximum amount used to
store useful data ?  In the first case, it's the current amount,
unless you activate the compacter; in the second case, there's no way
to get the right answer.


>Right now, I'm using Gc.heap_words, but it doesn't seem to be very

That's the current size of the major heap, including overhead and free
memory.  You could add "control.Gc.minor_heap_size" (from the result
of "Gc.get ()") to get the total size of the heaps.


>    let max_words_total = stats.Gc.minor_words - stats.Gc.promoted_words
>                          + stats.Gc.heap_words in

That just doesn't make sense.  It's the number of garbage words
collected by the minor GC (since the program started), added to the
current size of the major heap.


>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?

No, there's nothing simpler.  Is it not simple enough ?

-- Damien