`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
|