[BUG] Unscalability in collections.

Andreas Raab Andreas.Raab at gmx.de
Sun Oct 7 06:06:33 UTC 2001


Scott,

I'm a bit confused here. At this point it's totally unclear to me what you
are trying to achieve. Sure, you could re-implement #hash but for what
purpose exactly?! If you're re-implementing #= you need to re-implement
#hash anyways which means that many classes do already implement #hash in a
much more useful way. For purposes of creating sets/dictionaries that use
identity instead of equality IdentitySet and IdentityDictionary should (and
are) used - and here your change won't make any difference whatsoever. It is
exactly the IDSet/IDDict case where #hashBitsOf: come into play, and there
all the issues that were discussed apply.

So bottom line: Yes could change Object>>hash to whatever you'd like. I just
doubt it'll make any difference whatsoever.

Cheers,
  - Andreas

> -----Original Message-----
> From: Scott A Crosby [mailto:crosby at qwes.math.cmu.edu]
> Sent: Saturday, October 06, 2001 10:24 PM
> To: Andreas Raab
> Cc: squeak-dev at lists.squeakfoundation.org
> Subject: RE: [BUG] Unscalability in collections.
>
>
> On Sat, 6 Oct 2001, Andreas Raab wrote:
>
> > Scott,
> >
> > > The fix is trivial, getting it into the image isn't.
> >
> > True, and I don't think it'll make it anytime soon. The
> major reason for
>
> Its days like this I feel like I have stuffed my foot in my mouth.
> First, Martin McClure's email, and now this:
>
> I think it is trivial, can this be accomplished easily with:
>
> #1: Modify Object>>hash to return 'self identityHash * 4097' and
> immediately afterwards, rehash everything?
>
> Later, make a primitiveHash that does that on the C side?
>
> Now, how do I do #1? Second, how do I make a changeset
> that'll do #1 on
> another image?
>
>
> BTW, thanks to everyone else for their earlier help.
>
>
> Scott
>
>





More information about the Squeak-dev mailing list