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

Ralph Boland rpboland at gmail.com
Mon Sep 21 15:23:50 EDT 2009

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.


Ralph Boland

2009/9/21 Ralph Boland <rpboland at gmail.com>:
> 2009/9/21 Damien Cassou <damien.cassou at gmail.com>:
>> ---------- Forwarded message ----------
>> From: Levente Uzonyi <leves at elte.hu>
>> Date: Sun, Sep 20, 2009 at 4:38 PM
>> Subject: [squeak-dev] About Collections-ul.137..140
>> To: squeak-dev at lists.squeakfoundation.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 Pharo-dev mailing list