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

Re: GC & Virtual Memory

In article <FERTIG.91Nov12095206@krypton.elements.rpal.com>, fertig@elements.rpal.com (Ken Fertig) writes:
> I am currently developing an application (using CLIM v. 1.0) which
> involves a significant amount of memory manipulating arrays.  When
> running on the Symbolics fits in a world using about 80 Mb. of paging
> area.  On the Macintosh under MCL 2.0b1p3 I initially tried running
> under 5 Mb. of real memory (and failed).  I then turned on virtual
> memory under system 7 and gave MCL 20 Mb.  The result has been GC
> hell.
> I am interested in heuristics and/or parameters for increasing
> effectiveness of the MCL garbage collector.  Is the MCL garbage
> collector unworkable with virtual memory?  Any and all thoughts on
> this matter would be greatly appreciated.

If you tried running your Symbolics machine with 5 Mb
physical memory, you'd find *IT* was GC and paging hell,

I'm sure the EGC (coming in MCL 2.0) will help a great
deal, but trying to run a large Lisp with only 5 Mb of
physical memory seems hopeless.  You should at least upgrade
your system to 8Mb, which is pretty inexpensive, and will
make an enourmous difference.

As to whether it will be adaquate for performance in your
application with, or without, EGC, would depend.  But I
would not be surprised to see an order of magnitude
improvement or more just by increasing from 5 to 8 MB.

Also, if you're just barely fitting into that 20 MB,
you will be GCing very often, and taking a very long time
to do those GC's.  If you've got 100K left over in that
20MB, and you add 1 more Mb, you might find that you only
have to GC 1/11 as often, for an order of magnitude improvement
in performance.

The moral of the story is that Lisp systems respond very poorly
to being shoehorned into limited space.