[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [dev-serveez] mandelbrot fractal server

From: Martin Grabmueller
Subject: Re: [dev-serveez] mandelbrot fractal server
Date: Mon, 12 Nov 2001 11:19:21 +0100 (MET)

> From: stefan <address@hidden>
> Date: Sun, 11 Nov 2001 21:47:57 +0100 (CET)
> There is yet another strange behaviour with the Mandelbrot server.  When
> calculating larger fractals Serveez consumes more and more memory the
> longer it runs.
> Martin: Could you please explain in short how garbage collection generally
> works?  I always thought it would be something like that:  At certain
> points (when allocating new memory for cells or other data) Guile flushes
> the machine state, starts scanning for references to its internal heap
> within the stack recursively and finally frees all memory not marked.
> Does Guile really free memory if possible?

You are basically right.  One problem might be that Guile's
conservative GC may somtimes prevent free memory from being reused,
because some rogue pointer/integer on the stack seems to be pointing
to it.

Another problem is that memory for cons cells, string and vector
headers, smob headers, etc. is not really freed (in the sense of
free()), but put on a free list for later reusing it.  The data
portion of vectors and strings, though, *are* free()'ed.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]