`just slow it`....

Raab, Andreas Andreas.Raab at disney.com
Fri Feb 9 05:27:29 UTC 2001


Stefan,

Thanks for the information!

> >Descriptions of operations that are slow would help. Basically 
> >*everything* that goes beyound simply complaining would help ;-)
> 
> You should know me that I'm not the one who's just complaining.

I know - I was just teasing you ;-)

> >But one thing you should certainly check is if Squeak's display
> >depth is set to that of your OS display.
> 
> Good point.  Unfortunately, the Unix VM has no 24 bit mode 
> which would be my OS mode.  This could explain some part of the delay.

It most certainly does. I am not sure (Unix people might be able to answer
that question) but I also think that using the X shared memory extensions
makes a huge difference. Is there any way of finding out if it's used or
not?!

> Shown below are some minimal, average and maximal values.
> 
> '3231017  bytecodes/sec; 258861 sends/sec'
> '10906612 bytecodes/sec; 359851 sends/sec'
> '14414414 bytecodes/sec; 516812 sends/sec'
> 
> If nobody else is using the machine - late in the evening - I 
> once got even 15 millions b/s.  Compare this with my PII/448
> (overclocked) PC at home:
> 
> '38369304 bytecodes/sec; 1130488 sends/sec'
> '38277511 bytecodes/sec; 1134341 sends/sec'
> 
> The system is just running winamp (playing David Bowie if 
> that matter ;-), Eudora and Squeak.

Quite a difference I'd say. Must be Bowie ;-)

> These numbers are also the reason why I asked whether it 
> would be possible to compile the VM with something better

I do actually think it's possible. AFAIK, you need GNU make but everything
else should work.

> Here're some operations:
> 
> Opening the world menu:  1-2s
> Opening the system browser: 3-4s
> Redisplay of unresized browser after move: 2s
> Display of class "Morph": 2-3s
> Scrolling through the methods list ("--all--"): 9s [tally 1]
> Selecting InterpreterSupportCode>>macWindowFile: 6s [tally 2]
> Closing the browser: 1-2s

Most of these could be display related. Here is an interesting benchmark:
MessageTally spyOn:[
	1 to: 100 do:[:i|
		Browser openBrowser.
		(World submorphs detect:[:first| first isKindOf:
SystemWindow]) delete.
		World displayWorld.
	].
].


> Finally, I tried to do some message tallies.

Let's see...

> **Tree**
> 99.9% {20538ms} DisplayScreen>>doOneCycleMorphic
>    99.9% {20538ms} PasteUpMorph>>doOneCycle
>      99.9% {20538ms} WorldState>>doOneCycleFor:
>        92.4% {18997ms} WorldState>>doOneCycleNowFor:
>          |53.4% {10979ms} PasteUpMorph>>runStepMethods
>          |  |53.4% {10979ms} WorldState>>runStepMethodsIn:
>          |  |  53.4% {10979ms} WorldState>>runLocalStepMethodsIn:
>          |  |    53.2% {10937ms} StepMessage(MorphicAlarm)>>value:
>          |  |      30.4% {6250ms} SystemWindow>>stepAt:
>          |  |        |30.4% {6250ms} Browser(Object)>>stepAt:in:
>          |  |        |  30.4% {6250ms} Browser(CodeHolder)>>stepIn:
>          |  |        |    30.4% {6250ms} 
> Browser(CodeHolder)>>updateListsAndCodeIn:


This looks like you might try to disable #smartUpdating of browsers (it's a
preference). But everything else looks quite reasonable to me.

Cheers,
  - Andreas





More information about the Squeak-dev mailing list