Rehash entire image?
spair at advantive.com
Tue Aug 27 01:18:59 UTC 2002
Ah...don't know how I managed to miss that one.
That version is a lot slower than it could be. MethodDictionaries
#become: themselves when sent #rehash...that method should probably be
changed such that the become is deferred to the end and all method
dictionaries get swapped in a single #elementsExchangeIdentityWith:.
I added a method called rehashEntireImage to SystemDictionary that is
much faster. I see that #rehash is implemented all the way up in
ProtoObject...is this really necessary? Symbol class is the only
non-Set that appears to implement #rehash. It seems like someone was
expecting there to be a reason that all objects might need be sent the
rehash method. Anyway, I like having #rehashAllSets implemented in the
Set class rather than my version on SystemDictionary.
> -----Original Message-----
> From: squeak-dev-admin at lists.squeakfoundation.org
> [mailto:squeak-dev-admin at lists.squeakfoundation.org] On
> Behalf Of Scott A Crosby
> Sent: Monday, August 26, 2002 8:42 PM
> To: Stephen Pair
> Cc: squeak-dev at lists.squeakfoundation.org
> Subject: Re: Rehash entire image?
> On Thu, 22 Aug 2002 21:50:07 -0400, "Stephen Pair"
> <spair at acm.org> writes:
> > Is there a method to rehash the entire image? I haven't
> seen one, but
> > it seems unlikely that there wouldn't be one.
> Rehashallsets or something like that... Look in Set>>
> I suspect you're barking up the tree I did about 6 months
> ago; fixing the brokenness of how we use hashes. Look at my
> past work and continue it. I also fixed ALL collections at once.
More information about the Squeak-dev