Re: The myth of fingerprints, er, no, garbage collectors

"Yuri Davidovsky (as work at disclosure dot ie)" <[email protected]> Thu, 25 Jun 2026 20:00:45 +0200
Newsgroups gmane.lisp.lispworks.general
Message-ID <[email protected]>
> On 25 Jun 2026, at 18:17, Tim Bradshaw (as tfb at tfeb dot org) <[email protected]> wrote:
> 
> You can also watch GC time grow as it has to copy more: (smash (expt 10 9) 1000) makes lists which can grow to 1000 elts: GC now is well over 0.5% of the time. Keeping lists of a million elements results in the GC taking 10% of the runtime.

I had a similar discovery a couple days ago — I was processing an oversized csv of 100M entries weighing over 6GB (don’t ask) instantiating a struct for each line. After that the runtime started freezing for many seconds during GC and for some reason was unable to remove obsolete structures anymore once I was done with them, so it kept freezing each time GC ran. I ended up reworking the code into using typed arrays instead.

GC is indeed a nice convenience but it seems like it has its limits, at one stage you will be forced to write your code in a way that avoids littering as much as possible.

_______________________________________________
Lisp Hug - the mailing list for LispWorks users
[email protected]
http://www.lispworks.com/support/lisp-hug.html