Re: [GC] Evaluate memory use

From: Damien Doligez (Damien.Doligez@inria.fr)
Date: Mon Nov 22 1999 - 20:24:33 MET


Date: Mon, 22 Nov 1999 20:24:33 +0100
From: Damien Doligez <Damien.Doligez@inria.fr>
Message-Id: <199911221924.UAA25229@tobago.inria.fr>
To: caml-list@inria.fr
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



This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:28 MET