[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.
-------