[Q] Speed comparison 2.8 vs 3.8

stéphane ducasse ducasse at iam.unibe.ch
Fri Aug 26 19:31:21 UTC 2005


On 26 août 05, at 19:01, frits swinkels wrote:

> There is not only a speed difference between 2.8 and 3.8; there is  
> a notable difference between 3.6 and 3.7. With a profiler on it,  
> one makes some observations (remember we are here in the basement  
> of Morphic and the code gets run a lot):
> - a. recently some "aColl size = o" were replaced by "aColl  
> isEmpty" : afaik the former is inlined and the latter is a message  
> send. In some places this matters and I reverted them in my image.
> - b. similarly "aColl at:1' replaced by " aColl first"

frits

if you could produce some monticello preferrably (or cs) of your  
changes in a documented and organised manner, we could
push that into 3.9a

> - c. The method pane in the browser was changed from a  
> PluggableListMorph with StringMorphs to a PLM with a lazy list  
> implementation. Splendid! However the advantage seems to be offset  
> by the switch to the two-way scrollpane as the default which  
> emphasizes the problem d.. The scrollers are calculated twice, once  
> at initialization, once when the real morphs are known.
> - d. the liberal use of "extent:" triggers a layout every time (not  
> a new problem).
>
> It is said on the subject of code: "make it run, make it run  
> correctly, make it fast", not "make it pretty"; making the code  
> more readable at the expense of speed is not progress. The point is  
> that changes to low level code should always be profiled?

You are right but may be having better profiling tools or culture  
could help there too.
I think that the morphic cleaner was a good effort. Now we should  
learn from your experience.

> Can we discuss this on the technical merits. An argument that  
> everybody owns or should own a 2.4 GHz super something-or-other and  
> that memory is cheap, is not to the point. On a recent trip in a  
> rather poor part of the world in a small school I found Squeak  
> running on an older machine ( a linux box with Squeak on a distro),  
> because "Squeak delivers so much", a reputation we want keep.

we too but some parts of squeak are quite dirty and we should clean  
them else we will not be able to move.
For example, the fileout is terrible (exporting to another dialect or  
format with a visitor should take 15 min and today I lost hours
reading this mess and ended up with a code that is brittle).

Stef


More information about the Squeak-dev mailing list