From: "David McClain" <email@example.com>
Subject: Memory management under OCAML
Date: Mon, 30 Aug 1999 10:54:06 -0700
I am trying to understand the behavior of the interactive OCAML system. If I
repeatedly perform the following line:
let x = Array.create 1000000 0.0;;
then each subsequent execution should shadow the previous ones making them
unreachable. Yet the GC never collects the old bindings, even after I
manually perform Gc.full_major() or Gc.compact(). Why is this?
In another vein, whenever I start OCAML in interactive mode on WinNT 4.0 it
grabs about 10 MBytes (give or take some). Yet when I compile my own code in
native code OCAMLOPT, my programs typically grab about 100 MBytes or so,
even before any overt memory allocations occur. Why is this? Should I even
be concerned about it? and is there a mechanism to preallocate a fixed
amount of heap for the runtime images I create?
Raytheon Systems Co.
This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:24 MET