[Openmcl-devel] Excesive Garbage Collection

Craig Lanning craig.t.lanning at gmail.com
Fri Jul 14 15:13:43 PDT 2017


I'm working on Linux (Fedora 25)
Using SBCL 1.3.15 (64-bit)
and   CCL 1.11-r16635 (64-bit)

I have an application that I run in both lisps.

The basic sequence for the application is:

1. load a file
2. identify additional files to load
3. load the additional files
4. repeat steps 2 and 3 for each file loaded
5. write out a file containing everything loaded from each of the
files.  Semantically equivalent to concatenating the files together
into a single file.

My test example loads 29 files.

When SBCL runs, it takes 1 minute, 9 seconds and does 12 GC's, with 1GB
of heap.

I tried it twice with CCL

Once with ccl configured to have 3GB for lisp-heap-gc-threshold and
once with ccl configured for its default (40MB) lisp-heap-gc-threshold

Both take 4 minutes, 35 seconds and do 224 GC's

I would have expected the one with 3GB of heap to do GC less often. 
Does that parameter not determine the size of the heap?  If not, how do
I set a larger heap?

Is there some way I can determine where all of that garbage is comming
from?

Craig




More information about the Openmcl-devel mailing list