1 Sep 2003 19:24
Re: Tuning the GC for lots of ephemeral objects
David Fox <davef <at> xanalys.com>
2003-09-01 17:24:50 GMT
2003-09-01 17:24:50 GMT
Greetings. We'd like to use a particular Lisp library with our app that offers some nice connectivity between Lisp and Java. However, after conducting some performance measurements it appears to me that this library generates a large amount of ephemeral objects; the result is, after a bit of run time our app begins to slow down siginificantly, apparently due to garbage collection. I'm fairly confident in this analysis because we're simply supplying the app with the same small data set over and over, from a Java client. Initially, the Lisp app moves along nicely. Then, as mentioned it begins to slow down. The same data set provided via a different input interface, but still from a Java client, does not exhibit this behavior and the image size grows substantially more slowly. Assuming the library isn't leaking, is it possible to tune the LW GC for very large amounts of ephemeral (generation 0) objects? If so, how best would I go about it? Thanks much... Start collecting data. This should always be the first step when addressing any GC-related problem. Use periodic calls to (ROOM) and less frequently call (ROOM T), and wrap EXTENDED-TIME around code that appears to trigger the GC. Mail us the output, with a standard bug form, to lisp-support <at> xanalys.com. One of my colleagues suggested as a first guess that you should be looking at using BLOCK-PROMOTION and (MARK-AND-SWEEP 2), but without data we cannot really give useful advice. Sorry for the lateness of this reply - just back from vacation.(Continue reading)
Or should it read 14.September?
Hans-Peter
________________________________________________________________________
This email has been scanned for all viruses by the MessageLabs Email
Security System. For more information on a proactive email security
service working around the clock, around the globe, visit
RSS Feed