[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: generating cache offsets
- To: Richard Harris <harrisr@turing.cs.rpi.edu>
- Subject: Re: generating cache offsets
- From: Gregor.pa@Xerox.COM
- Date: Tue, 15 Nov 88 12:52 PST
- Cc: commonloops.pa@Xerox.COM
- Fcc: BD:>Gregor>mail>outgoing-mail-4.text.newest
- In-reply-to: <8811151805.AA25627@turing.cs.rpi.edu>
- Line-fold: no
    Date: Tue, 15 Nov 88 13:05:29 EST
    From: harrisr@turing.cs.rpi.edu (Richard Harris)
    I have been examining the reasons that %LOGAND did not work well
    in KCL for generating slot value cache offsets, and I no longer 
    believe that the problem was with %LOGAND.  
    Instead, I think the (cache collision) problem is that AKCL's implementation 
    of SXHASH produces results with an unfortunate distribution.
    AKCL builds a fixnum from the first, second, second last,
    and last characters of the the symbol's print-name.  When PCL does %LOGAND
    on this number, all that is left is bit positions 5 to 0 of the second last
    character's code, and bit positions 7 to 2 of the last character's
    code.
Actually the part of the code you are optimizing isn't used much in PCL
anymore.  Slot access via accessor methods actually uses a special kind
of dcode, and slot access via slot-value in the body of the method uses
permutation vectors.
So I wouldn't expect these changes to have a significant effect on the
performance of a program written in pcl.
Most of the other patches you have sent out do have a significant
effect, and we are merging them into our sources here.
-------