On 07 Oct 2009, at 21:38, Stéphane Ducasse wrote:

> I want benchs :)
>
> Stef

Here they are:

Time millisecondsToRun: [1 to: 10 do:[:i | SystemNavigation new  
allCallsOn: #add: ]].
"current: 2234 2240 2261"
"refactored: 2806 2799 2816"

Time millisecondsToRun: [1 to: 10 do:[:i | SystemNavigation new  
allCallsOn: #foobar ]].
"current: 2166 2216 2159"
"refactored: 2826 2790 2933"

So, an overhead of 20-30%.
However, making that refactoring will probably also trigger a lot of  
changes elsewhere. The current #literalsDo: method iterates over  
header, method properties and class binding too and it is sent by  
external methods. In addition, there is the #hasLiteral:,  
#hasLiteralThorough: and #sendsSelector: methods on CompiledMethod  
that all perform roughly identical tasks but it is far from clear to  
me who is expected to do what, especially since the comments are  
sometimes not in sync with what the method actually does.
It seems like this part of the code is another candidate for cleanup.

----------------------------
Johan Brichau
[email protected]





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

Reply via email to