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

Re: Problem with generic function caches in EXCL (aka Allegro CL)



    Date: Mon, 22 Aug 88 11:23:58 CDT
    From: Frank Halasz <halasz%sw.MCC.COM@MCC.COM>

    In performance tuning our CLOS-based window system, I noticed an
    inordinate number of generic function cache misses.  In tracking this
    down, I discovered that (almost) all caches appeared to be only 1/4
    full and that the cache misses were being caused by collisions in the
    cache.

Yes, this has been a problem for some time.  Its funny you should send
this message just now, since this whole mechanism is different in the
version of PCL we are releasing today (AAAI PCL). In this new version of
PCL, the offsets into caches are computed in a different way.  At load
time, each class is assigned a number from a special counter.  The
counter counts by 2, so for 1 class caches, there is no alignment of
class numbers.  Object-cache-no and symbol-cache-no are not used at all.

When this version comes out, give it a try and see what happens to your
performance.  I also hope to distribute some rudimentary tools people
can use to analyze their cache density and send the info back to me.  I
hope to get the cache hit rate pretty far up with this release.  Later
tuning should get it higher.  I plan to add a facility to allow generic
functions to have variable size caches.
-------