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

Ralph Boland rpboland at gmail.com
Mon Sep 21 13:05:01 EDT 2009

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.


Ralph Boland

More information about the Pharo-dev mailing list