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

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

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

Damien Cassou
---------- Forwarded message ----------
From: Levente Uzonyi <[hidden email]>
Date: Sun, Sep 20, 2009 at 4:38 PM
Subject: [squeak-dev] About Collections-ul.137..140
To: [hidden email]


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

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

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

Ralph Boland
2009/9/21 Damien Cassou <[hidden email]>:

> ---------- Forwarded message ----------
> From: Levente Uzonyi <[hidden email]>
> Date: Sun, Sep 20, 2009 at 4:38 PM
> Subject: [squeak-dev] About Collections-ul.137..140
> To: [hidden email]
>
>
> 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

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Fwd: [squeak-dev] About Collections-ul.137..140

Stéphane Ducasse
In reply to this post by Damien Cassou
Hi ralph

May be I missed something.

> 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.


Are you talking about the pharo version?
Because I integrated the version I thought was the best

> 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.

to who are you talking to?
Pharo integrator (me, marcus...) or do the squeak guy.

Stef

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

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

Ralph Boland
In reply to this post by Ralph Boland
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 <[hidden email]>:

> 2009/9/21 Damien Cassou <[hidden email]>:
>> ---------- Forwarded message ----------
>> From: Levente Uzonyi <[hidden email]>
>> Date: Sun, Sep 20, 2009 at 4:38 PM
>> Subject: [squeak-dev] About Collections-ul.137..140
>> To: [hidden email]
>>
>>
>> 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
>

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project