caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] A question about GC.
@ 2011-06-13  0:35 Yoonseok Ko
  2011-06-13  9:40 ` Guillaume Yziquel
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Yoonseok Ko @ 2011-06-13  0:35 UTC (permalink / raw)
  To: caml-list

Hello everyone.
I'm a graduate student majoring program analysis.

I'm using Muddy which is BDD library interfacing Buddy.
The problem is that when I construct BDD, its memory blows up in some cases
because GC won't work.
(It was not only for Muddy problem. We already tried to use our own 
buddy interface.)

If I call Gc.compact () explicitly every cycle of constructing BDD, then 
memory consumption is reasonable.
Gc.major () also works well, but Gc.minor () doesn't work.
I watched log messages of GC and figured out that they always try to 
grow heap and very very rarely start new major GC cycle.

In a small example, if I construct BDD only in non-tail-recursive form 
function, memory blows up.
In a real code, tail-recursive form doesn't work. Just memory blows up.
So far, only the solution is just call Gc.major () explicitly.

I'm using GC with default setting.
There was no memory leakage on buddy side.
I check the memory consumption both outside of the process and inside of GC.


I have two questions.

1. Is there any solution? Explicit garbage collection is too slow and 
hard to collect garbage on time.
     I want to know what happened in GC, and why GC won't work.

2. Sometimes GC log has this message: "Growing gray_vals to 32768k bytes."
     What does that means?


Best Regards,

Yoonseok Ko


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2011-06-13 13:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-13  0:35 [Caml-list] A question about GC Yoonseok Ko
2011-06-13  9:40 ` Guillaume Yziquel
2011-06-13 10:37 ` Philippe Wang
2011-06-13 11:34   ` ygrek
2011-06-13 12:19     ` Guillaume Yziquel
2011-06-13 13:26       ` Philippe Wang
2011-06-13 12:21 ` Gerd Stolpmann
2011-06-13 12:26   ` Guillaume Yziquel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).