[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: A problem about fresh and stale KCL



It sounds as if your package is causing a large amount of some data
type to be allocated.  Then, when gcd tries to use objects of that
data type, it may have to garbage collect.  In a fresh kcl, it is
garbage collecting a small amount of that data type, and probably
staying inside physical memory (RAM).  In a stale kcl, the number of
objects of that data type has grown by a lot, and so a garbage collection
has to do almost random accesses in virtual memory, which is much
slower.  Probably, the data type is fixnum or bignum.

To test the hypothesis, do:  (setq si:*notify-gbc* t)
and also do:  (room)   in a fresh kcl, and in your stale kcl.
This should make it clear what data type is being used heavily,
and whether you are probably using virtual memory.  (One kcl page
is 2 kilobytes on a SPARC, and many other architectures.)	- Gene