Browse thread
Stopping and continuing GC
[
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: | -- (:) |
| From: | Richard Jones <rich@a...> |
| Subject: | Re: [Caml-list] Stopping and continuing GC |
On Fri, Aug 17, 2007 at 09:44:14AM -0700, Shivkumar Chandrasekaran wrote:
> Are you saying that the "major sweeps" (whatever Gc.major does) are
> also turned off....
No.
> 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.
Precisely. If you grab the actual code (byterun/compact.c) you will
see:
void caml_compact_heap_maybe (void)
{
float fw, fp;
Assert (caml_gc_phase == Phase_idle);
if (caml_percent_max >= 1000000) return;
The GC runs in phases (and slices of work within some phases) and will
call this function when it has just finished a complete round of
collecting the major heap. However this function won't do anything if
that max_overhead setting is as above.
Rich.
--
Richard Jones
Red Hat