[squeak-dev] Re: The Trunk: Traits-nice.248.mcz

Andreas Raab andreas.raab at gmx.de
Thu Dec 24 12:12:46 UTC 2009


commits at source.squeak.org wrote:
> Nicolas Cellier uploaded a new version of Traits to project The Trunk:
> http://source.squeak.org/trunk/Traits-nice.248.mcz
> 
> ==================== Summary ====================
> 
> Name: Traits-nice.248
> Author: nice
> Time: 24 December 2009, 11:49:10 am
> UUID: 557593d7-1db7-2347-bf40-2d40e3b91f55
> Ancestors: Traits-nice.247
> 
> Move FixedIdentitySet off the Array hierarchy.
> Provide a fast implementation using MethodDictionary tricks
> - handles collisions (instead of blindly ignoring the entry)
> - eventually grow.
> 
> I did not understand previous design decision...
> The conflict just did happen (I put a halt: and caught one in Object...)
> According to my own scale, make it work > make it fast.
> 
> Rationale about the new design:
> #grow costs, but I think it is user responsibility to fix a reasonnable capacity.
> collisions handling should not cost much (except above 4096 entries)
> 
> If any expert knowing the reasons for this class and knowing how to fire the profiling tests could have a look, thanks...

I doubt it. This looks like old, left-over code that ultimately bottoms 
out in RequiredSelectors. There no users of either RequiredSelectors, 
ProvidedSelectors, LocalSends, SendCaches etc. This all looks like some 
ancient and no longer fully functioning stuff which at some point was 
used for traits research. I've successfully removed all of it from my 
NanoTraits image without ill side effects.

Cheers,
   - Andreas



More information about the Squeak-dev mailing list