Nathan Froyd <froydnj@...> writes:
> On Mon, Oct 25, 2004 at 04:27:41PM +0100, Christophe Rhodes wrote:
>> > Looks like it may be time to address a deficiency in BIT-BASH-COPY:
>> > namely, that it only bashes about 16MB worth of bits at a time.
>> > Anybody up for writing BYTE-BASH-COPY? Doing this would also
>> > enable a more efficient REPLACE on specialized arrays other than
>> > strings (I posted one a while ago, but given the limitations in
>> > BIT-BASH-COPY, it was deemed unfit for general consumption).
>> This is the sound of me hoping you've just volunteered... but even
>> BYTE-BASH-COPY might not be good enough -- and, actually, why don't we
>> have a WORD-BASH-COPY?
> Because nobody's written one yet. *ducks*
> Why would BYTE-BASH-COPY be unsuitable? Isn't WORD-BASH-COPY simply
> a straightfoward wrapper around BYTE-BASH-COPY?
Because BYTE-BASH-COPY, analogous to BIT-BASH-COPY, still has a factor
of 4 missing from the range it needs to handle -- we need to handle
2^29ish words, at least in principle. It's possible that
WORD-BASH-COPY wouldn't gain anything over the simple loop over array
indices or SAPs, given that we're not currently clever enough to use
vector instructions when they're available, but in terms of the
interface BYTE-BASH-COPY wouldn't be able to manage strings (or
vectors specialized on word-sized, hm, or double-word sized objects).
In the meantime, I've committed something which I hope is both fast
and typesafe for REPLACE on character strings, to see if I can get the
various string benchmarks down to something reasonable in