(a) is certainly much slower if collection is a LinkedList

- Bert -

Am 23.08.2006 um 22:20 schrieb stéphane ducasse:

but is a not the fastest one?
because you nearly only call primitives?

I did not check.
Cedric did you benchmark a and c.
even if large dictionaries degenerate in Squeak.

(a) ---- à la C

(1 to: collection size) do: [:index |
                                                html render: 'Victime ', index 
printString.
                                               html render:
collection at: index]

(b) --- indexOf

collection do: [:victim |
html render: 'Victime ', (collection indexOf: victim) printString.
                                               html render: victim]

(c) ---- keysAndValuesDo:

collection keysAndValuesDo: [:index :victim |
                                                html render: index printString.
                                               html render: member]

(d) ---- using a local var

| index |
index := 0.
collection do: [:victim | index := index + 1.
                                                html render: 'Victime ', index 
printString.
                                               html render: victim]

What solution would you suggest ?
I think we forget (a) and (d)
I like (c) but maybe (b) is more readable ?

Maybe there is another way ?

(c), though I like #withIndexDo: better since it mimics the #with:do: pattern.

- Bert -

_______________________________________________
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners

Reply via email to