Browse thread
Stopping and continuing GC
-
Shivkumar Chandrasekaran
-
Jacques Garrigue
- Markus Mottl
- Shivkumar Chandrasekaran
-
Jacques Garrigue
[
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: | 2007-08-17 (16:44) |
From: | Shivkumar Chandrasekaran <shiv@e...> |
Subject: | Re: [Caml-list] Stopping and continuing GC |
On Aug 16, 2007, at 6:04 PM, Jacques Garrigue wrote: > This looks like a misunderstanding. > You cannot stop the GC in ocaml: it will be triggered as soon as the > young heap is full anyway. > What lablGTK does is turning off compaction, which is a rather new > feature of the GC (didn't exist when lablgtk was first written), which > moves around objects in the old generation, which would break some > assumptions in the code. As indicated, you can still call compaction > explicitly, a simple way being to call Gc.major once in a > while (using a timer for instance), as it will do compaction too when > needed. When I first read it I thought I got it... If I read you correctly, you are saying that lablGTK has tuned off compaction (somehow), but if I manually call Gc.major I can have it done. But, you also say that Gc itself is not turned off. But, I thought Gc.major was an intrinsic part of the gc cycle. Which would imply that compaction would be called anyway, even if I did not call Gc.major explicitly. Are you saying that the "major sweeps" (whatever Gc.major does) are also turned off.... OTOH, the manual says: > If max_overhead >= 1000000, compaction is never triggered. If lablGTK has set this, then presumably calling Gc.major will have no impact. Thanks for any clarifications. --shiv--