From: Robert Uhl
Subject: Memory utilisation in SBCL
Date: 
Message-ID: <m3ljxy36ir.fsf@latakia.octopodial-chrome.com>
Does anyone have some suggestions for dealing with and optimising SBCL's
memory utilisation?  I'm working on a science-fiction game which
generates solar systems and I've been running out of heap space.  What's
strange is that I can generate 10,000 systems in one profiling run but
the _second_ run crashes.  I've looked and looked and none of those
systems should still be referenced anywhere in memory; the loop looks
like this:

  (unwind-protect
       (progn (sb-profile:reset)
              (sb-profile:profile "TRAVELLER")
  	      (dotimes (i 10000) (generate-system))
  	      (sb-profile:report))
     (sb-profile:unprofile))

I've looked at all of my code, and none of it is storing any of the
systems in any globals; moreover, from the code above one can see that *
and friends shouldn't be referencing and of the first run's data.
Neither should the previous profiling run's data be referenced, since I
call SB-PROFILE:RESET.  And yet, fairly reliably, I exhaust the heap and
SBCL drops down to LDB.

Just for laughs & giggles, I've thrown in an SB-EXT:GC after the
GENERATE-SYSTEM--same result.

Anyone have any ideas a) how this happens b) how to avoid it?  Thanks much!

-- 
Robert Uhl <http://public.xdi.org/=ruhl>
Have you ever noticed how much `political correctness' resembles a
complete lack of a sense of humour?                  --Chris Zakes
From: Anton Vodonosov
Subject: Re: Memory utilisation in SBCL
Date: 
Message-ID: <21401702-66a1-4f72-9610-f66509320029@d77g2000hsb.googlegroups.com>
On Sep 11, 9:02 pm, Robert Uhl <·········@NOSPAMgmail.com> wrote:
[...]
> Anyone have any ideas a) how this happens b) how to avoid it?  Thanks much!

It makes sense to ask in the sbcl-help mailing list

Best regards,
-Anton