[Pharo-dev] Missing #removeDuplicates

stepharo stepharo at free.fr
Sat Apr 16 10:32:33 EDT 2016



Le 16/4/16 15:12, Nicolai Hess a écrit :
>
>
> 2016-04-16 14:50 GMT+02:00 Werner Kassens <wkassens at libello.com 
> <mailto:wkassens at libello.com>>:
>
>     perhaps it is a speed question? using pharo4.0 (with polymath):
>     a:=DhbVector new: 50 random: 20.
>     b:=a copy asOrderedCollection  .
>     Smalltalk garbageCollect .
>     [ b removeDuplicates]bench. "'47,004 per second'"
>     b:=a copy asArray.
>     Smalltalk garbageCollect .
>     [ b asSet asArray    ]bench.  "'27,249 per second'"
>     werner
>
>
> the advantage for removeDuplicates ( and maybe the reason it was 
> implemented) is, it
> preserves the order.

this would be an argument in favor of having it in addition to avoid 
double iteration.
Now people may also want to use OrderedSet.

Stef
>
>
>     On 04/16/2016 09:01 AM, stepharo wrote:
>
>         And I do not see why removeDuplicates is less ugly than asSet
>         asArray.
>         Just that it is doing two passes.
>
>         Stef
>
>         Le 15/4/16 23:57, Yuriy Tymchuk a écrit :
>
>
>                 On 11 Apr 2016, at 09:06, Nicolai Hess
>                 <<mailto:nicolaihess at gmail.com
>                 <mailto:nicolaihess at gmail.com>>nicolaihess at gmail.com
>                 <mailto:nicolaihess at gmail.com>> wrote:
>
>
>
>                 2016-04-10 8:55 GMT+02:00 Volkert
>                 <<mailto:volkert at komponentenwerkstatt.de
>                 <mailto:volkert at komponentenwerkstatt.de>>volkert at komponentenwerkstatt.de
>                 <mailto:volkert at komponentenwerkstatt.de>>:
>
>                     Sorry. i meant AthensSkatch ;-) It is a nice demo
>                 about using athens.
>
>                 http://smalltalkhub.com/#!/~NicolaiHess/AthensSketch
>                 <http://smalltalkhub.com/#%21/%7ENicolaiHess/AthensSketch>
>                    
>                 <http://smalltalkhub.com/#%21/%7ENicolaiHess/AthensSketch>
>
>
>
>
>
>                 Hi Volkert,
>                 I just replaced
>                 #removeDuplicates with
>                 #asSet
>                 (this should work now).
>
>
>             I think that it would be nice to have removeDuplicates.
>             Because
>             sometimes you need to end up with ordered collection and
>             then you need
>             to do something like `obj asSet asArray` and it is ugly.
>
>             Uko
>
>
>                 (and replaced some deprecated on:send:to: calls (for
>                 Announcements) with
>                 when:send:to:
>
>                 in the latest version.
>
>
>                 Nicolai
>
>
>
>
>                     On 10.04.2016 07:42, stepharo wrote:
>
>
>
>                         Le 9/4/16 22:36, Volkert a écrit :
>
>                             What happens to
>                 OrderedCollection>>removeDuplicates in
>                             Pharo 5.0? In Pharo 4.0 it was part of a
>                 Package
>                             "GroupManager"?
>
>
>                         It was probably badly implemented or only used
>                 in group
>                         manager (whose code was terrible) and we
>                 cleaned it.
>                         Now we could reintroduce it but in the right
>                 place and with
>                         tests.
>
>                             It breaks the nice Package "AthensScratch"
>                 in Pharo 5.0
>
>
>                         what is athenscracth?
>
>
>                             BW.
>                             Volkert
>
>
>
>
>
>
>
>
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20160416/e3e640ed/attachment.html>


More information about the Pharo-dev mailing list