[squeak-dev] About Collections-ul.137..140

Andreas Raab andreas.raab at gmx.de
Tue Sep 22 04:36:34 UTC 2009


Hi Ralph -

I'm not sure that being biased is a problem in this context as long as 
the bias is a result of observable behavior (i.e., benchmarks). There is 
a lot of stuff that has remained under the radar in the past and I think 
these improvements are part of it, and indeed very welcome (in fact, I 
don't think there was ever any resistance it was merely that we didn't 
have good means to deal with the integration).

If you and Levente could provide a joint proposal, that would be very 
welcome. I will say that I am inclined to go with Levente's version, not 
because I think it's better or faster (I simply haven't run the 
benchmarks) but because I was able to load them and run the tests and 
they were green. I am not sure what I would need to load from the 
squeaksource project and in which order to do the same level of evaluation.

However, let me repeat that I do recommend you discuss a merged version 
with Levente so that we can have the best of both worlds.

Cheers,
   - Andreas

Ralph Boland wrote:
> Further comments on fasterSets.
> My understanding is that the newer version of fasterSets is
> scheduled to be incorporated into Pharo1.1.
> It would be unfortunate if one version of fasterSets is incorporated
> into Squeak and a different version is incorporated into Pharo.
> Can we get together and decide on one or better still merge the
> best features of both.
> I am frustrated by this split so cannot be considered unbiased.
> Can someone qualified and unbiased be appointed to coordinate
> creating a version of fasterSets that both the Squeak people and
> Pharo people are happy with and contains the best features of both.
> I am willing to work on the problem.
> 
> P.S. My understanding was that there was no interest in having fasterSets
> added to  Squeak.  If/when this changed I would have appreciated being
> brought into the loop.
> 
> Regards,
> 
> Ralph Boland
> 
> 
> 2009/9/21 Ralph Boland <rpboland-Re5JQEeQqe8AvxtiuMwx3w at public.gmane.org>:
>> 2009/9/21 Damien Cassou <damien.cassou-Re5JQEeQqe8AvxtiuMwx3w at public.gmane.org>:
>>> ---------- Forwarded message ----------
>>> From: Levente Uzonyi <leves-X9Un+BFzKDI at public.gmane.org>
>>> Date: Sun, Sep 20, 2009 at 4:38 PM
>>> Subject: [squeak-dev] About Collections-ul.137..140
>>> To: squeak-dev-bD51WKytQuJI8mQ4nJOOf3xJsTq8ys+cHZ5vskTnxNA at public.gmane.org
>>>
>>>
>>> Hi!
>>>
>>> Just uploaded four packages to inbox: Collections-ul.137,
>>> Collections-ul.138, Collections-ul.139 and Collections-ul.140. These
>>> packages reimplement #rehash and #grow in Set and its subclasses
>>> (except MethodDictionary). The ideas come are from Ralph Boland's
>>> FasterSets project, but the implementation is different. According to
>>> my measurements they are even faster. The four packages should be
>>> loaded in the given order one-by-one otherwise mc might remove old
>>> methods before adding new ones, etc (couldn't come up with a better mc
>>> based load mechanism).
>>>
>>> While I was rewriting these methods, I found that KeyedSet and
>>> KeyedIdentitySet are not used (no references, no senders) in the
>>> trunk.
>>> Also checked that in a 3.8.1 full image they have no references (just
>>> senders in DecompilerTests >> #decompilerDiscrepancies). I think they
>>> might be removed from the base image and moved to a separate package.
>>>
>>> Cheers,
>>> Levente
>>>
>>>
>>>
>>>
>>> --
>>> Damien Cassou
>>> http://damiencassou.seasidehosting.st
>>>
>>> "Lambdas are relegated to relative obscurity until Java makes them
>>> popular by not having them." James Iry
>>>
>>
>> It sounds like you are using an older version of fasterSets.  The
>> original version did not make the
>> modifications for Method dictionary but the new version does.  I also
>> made a number of other improvements.
>> I suggest you test your version to the version currently in fasterSets
>> to see which one is actually faster.
>> Note that fasterSets has code for measuring performance at least in
>> terms of the number of compares.
>> Perhaps you can make the comparision and post the results.  I would
>> like to see them.
>> I suggest that you study the current version of fasterSets and your
>> version and combine the best
>> features of both.
>>
>> If you wanted to make improvements I don't know why you didn't start
>> from the newer version.
>> I believe it was Damien Cassou who proposed that I make most of them.
>> I also asked that any modifications be incorporated into fasterSets
>> but I assume you have not done this.
>>
>>
>> Regards,
>>
>> Ralph Boland
>>




More information about the Squeak-dev mailing list