
Helmut Eller wrote:
Raymond Toy <rtoy@earthlink.net> writes:
However, for a long time, I've had GC notify function that would also print out how much time (user and real) GC took. What is the proper way of modifying slimes GC hook functions?
[snip]
This basically disables the SLIME's default hooks and uses my-hook{1,2} instead. Testing whether swank::*emacs-connection* is non-nil makes sure that we can send something to Emacs. eval-in-emacs sends a sexp to Emacs and evaluates it there. Note that the symbol in the first position of that sexp is treated specially: it is downcased and the (CL) package prefix is stripped off, so that it makes more sense to Emacs.
I just basically did the same thing, but it doesn't seem to get installed, if I put that in .swank.lisp. But it's not really important.
You can, of course, use something other than slime-background-message. Especially if you use the typeout frame it might be annoying to the have the GC messages in that frame.
Right now it goes to the typeout frame that I always use. It's not too annoying.
BTW, is there a way to get the size of the different GC generations in CMUCL?
Will lisp::gencgc-stats do what you want? I don't really know what all of the data mean. It was meant for someone to use if they needed or wanted to try tuning GC for their app. Ray