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

Garbage Collection (Again!)



At  2:58 AM 7/20/93 +0000, Tom McDermott wrote:
>Hi,
>        is there any way of getting the garbage collector to give me some
>feedback?

The easiest way to see how much memory you've eaten is:

(progn (gc)(room))

The (gc) is so that you'll be sampling memory right after a garbage
collection. Otherwise, (room) will show you statistics for garbage as
well as live objects.

(ccl::%freebytes) will tell you how many bytes are free in the Lisp
heap. This is the number of bytes that you can cons before the garbage
collector will run.

(#_freemem) will show how many bytes are free in the Mac heap.

>
>Reason-> If I thrash my program for a while, repeatedly
>opening-parsing-displaying-closing files, the garbage collector eventually
>goes into "infinite GC".  This would seem to imply that I'm not
>"dealocating" objects (does that make sense in MCL?) or that memory is
>getting fragmented (is there anything I can do about it in MCL?).
>
>Thanks very much,
>                Tom McDermott, spon@socs.uts.oz.au
>
>PS: Thnx*10^6 to those who answered my previous question on GC 8-) !

"deallocating" objects that live in the Mac Heap, allocated with
#_NewPtr, or #_NewHandle (or make-record) makes sense. You do not
explicitly deallocate Lisp objects, but the garbage collector will
reclaim their space only if there are no references to them. Where
are the objects stored that you create by "opening-parsing-displaying
files"?