> can you find the sender of + (which is inlined).

Yes, the refactoring browser takes these into account.

> Why this is that slow in the image and not in RB.
> because it does it at the AST level and not scanning all the bytecode?

No, reading the source is dead slow. As soon as you have to load the
source of each method you can go to the kitchen and fetch a coffee.

The algorithm in the image goes to every method and asks it for its
senders. Asking for the senders is expensive because it has to iterate
through each compiled method. Thus the whole search is O(n^2).

The refactoring engine first collects all sent messages in the system.
Then it checks for the presence of each method selector in this set.
Thus the whole search is O(n).

Similarly the refactoring engine can quickly find out if a method is
sent but nowhere implemented.

Lukas

-- 
Lukas Renggli
http://www.lukas-renggli.ch

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

Reply via email to