Morphic slowness (was Re: Does *anyone* use MVC?)
Norton, Chris
chrisn at Kronos.com
Thu Aug 1 23:04:35 UTC 2002
Hi Guys.
I ran Andreas' script to test menu popups. I dunno if this'll help you, but
here's what i get on my 1 GHz Windows NT 4.0 box (service pk 6+) -- Using a
virgin Squeak 3.2 image & VM. I see that my image spent more time in the
TransformMorph>>fullDrawOn: than Tim's acorn image did.
Cheers,
---==> Chris
- 231 tallies, 3764 msec.
**Tree**
76.6% {2883ms} PasteUpMorph>>doOneCycleNow
|76.6% {2883ms} WorldState>>doOneCycleNowFor:
| 74.9% {2819ms} WorldState>>displayWorldSafely:
| 74.9% {2819ms} PasteUpMorph>>displayWorld
| 74.9% {2819ms} PasteUpMorph>>privateOuterDisplayWorld
| 74.9% {2819ms} WorldState>>displayWorld:submorphs:
| 67.5% {2541ms} WorldState>>drawWorld:submorphs:invalidAreasOn:
| |66.7% {2511ms} FormCanvas(Canvas)>>fullDrawMorph:
| | 66.7% {2511ms} FormCanvas(Canvas)>>fullDraw:
| | 66.2% {2492ms} SystemWindow(Morph)>>fullDrawOn:
| | 55.0% {2070ms} SystemWindow(Morph)>>drawSubmorphsOn:
| | |54.5% {2051ms} FormCanvas(Canvas)>>fullDrawMorph:
| | | 54.5% {2051ms} FormCanvas(Canvas)>>fullDraw:
| | | 54.5% {2051ms}
PluggableListMorph(Morph)>>fullDrawOn:
| | | 45.9% {1728ms}
PluggableListMorph(Morph)>>drawSubmorphsOn:
| | | |45.9% {1728ms}
FormCanvas(Canvas)>>fullDrawMorph:
| | | | 45.9% {1728ms}
FormCanvas(Canvas)>>fullDraw:
[45.9% {1728ms} TransformMorph(Morph)>>fullDrawOn:
[ 19.5% {734ms} AlignmentMorph(Morph)>>drawSubmorphsOn:
[ |19.5% {734ms} FormCanvas(Canvas)>>fullDrawMorph:
[ | 19.5% {734ms} FormCanvas(Canvas)>>fullDraw:
[ | 19.5% {734ms} PluggableButtonMorph(Morph)>>fullDrawOn:
[ | 7.4% {279ms} PluggableButtonMorph(Morph)>>drawSubmorphsOn:
[ | |7.4% {279ms} FormCanvas(Canvas)>>fullDrawMorph:
[ | | 7.4% {279ms} FormCanvas(Canvas)>>fullDraw:
[ | | 7.4% {279ms} AlignmentMorph(Morph)>>fullDrawOn:
[ | | 3.0% {113ms} FormCanvas(Canvas)>>drawMorph:
[ | | 3.0% {113ms} FormCanvas(Canvas)>>draw:
[ | | 2.6% {98ms} RectangleMorph(Morph)>>drawOn:
[ | 5.2% {196ms} FormCanvas(Canvas)>>roundCornersOf:during:
[ | |4.8% {181ms} FormCanvas>>roundCornersOf:in:during:
[ | | 4.3% {162ms} CornerRounder
class>>roundCornersOf:on:i...orderWidth:corners:
[ | | 3.0% {113ms}
CornerRounder>>tweakCornersOf:on:in:borderWidth:corners:
[ | 3.5% {132ms} FormCanvas(Canvas)>>drawMorph:
[ | 3.5% {132ms} FormCanvas(Canvas)>>draw:
[ 14.3% {538ms} TransformMorph>>drawSubmorphsOn:
[ |13.0% {489ms} FormCanvas(Canvas)>>fullDrawMorph:
[ | 13.0% {489ms} FormCanvas(Canvas)>>fullDraw:
[ | 13.0% {489ms} TextMorphForEditView(Morph)>>fullDrawOn:
[ | 10.4% {391ms} FormCanvas(Canvas)>>drawMorph:
[ | 10.4% {391ms} FormCanvas(Canvas)>>draw:
[ | 7.4% {279ms} TextMorphForEditView(TextMorph)>>drawOn:
[ | |6.9% {260ms} FormCanvas>>paragraph:bounds:color:
[ | | 5.2% {196ms} NewParagraph>>displayOn:using:at:
[ | | 4.3% {162ms}
DisplayScanner>>displayLine:offset:leftInRun:
[ | 3.0% {113ms} StringMorph>>drawOn:
[ | 3.0% {113ms} FormCanvas(Canvas)>>drawString:in:font:color:
[ | 3.0% {113ms}
FormCanvas>>drawString:from:to:in:font:color:
[ 4.8% {181ms} FormCanvas(Canvas)>>roundCornersOf:during:
[ |4.8% {181ms} FormCanvas>>roundCornersOf:in:during:
[ | 4.3% {162ms} CornerRounder
class>>roundCornersOf:on:i...orderWidth:corners:
[ | 3.5% {132ms}
CornerRounder>>tweakCornersOf:on:in:borderWidth:corners:
[ 4.3% {162ms} FormCanvas(Canvas)>>drawMorph:
[ 4.3% {162ms} FormCanvas(Canvas)>>draw:
[ 3.0% {113ms} RectangleMorph(Morph)>>drawOn:
[ 2.6% {98ms}
FormCanvas(Canvas)>>fillRectangle:fillStyle:borderStyle:
| | | 5.2% {196ms} FormCanvas(Canvas)>>drawMorph:
| | | 5.2% {196ms} FormCanvas(Canvas)>>draw:
| | 6.5% {245ms} FormCanvas(Canvas)>>drawMorph:
| | |6.5% {245ms} FormCanvas(Canvas)>>draw:
| | | 6.1% {230ms} SystemWindow(Morph)>>drawOn:
| | | 5.6% {211ms}
FormCanvas(Canvas)>>fillRectangle:fillStyle:borderStyle:
| | | 5.2% {196ms}
RaisedBorder(SimpleBorder)>>frameRectangle:on:
| | 4.8% {181ms}
FormCanvas(Canvas)>>roundCornersOf:during:
| | 4.8% {181ms} FormCanvas>>roundCornersOf:in:during:
| | 3.9% {147ms} CornerRounder
class>>roundCornersOf:on:i...orderWidth:corners:
| 7.4% {279ms} WorldState>>forceDamageToScreen:
| 7.4% {279ms} DisplayScreen>>forceDamageToScreen:
| 3.9% {147ms} OrderedCollection>>do:
| 3.5% {132ms} DisplayScreen>>forceToScreen:
16.5% {621ms} MenuMorph>>popUpAt:forHand:in:
|16.0% {602ms} MenuMorph>>popUpAt:forHand:in:allowKeyboard:
| 13.0% {489ms} PasteUpMorph>>addMorphFront:
| 13.0% {489ms} PasteUpMorph(Morph)>>addMorphInFrontOfLayer:
| 13.0% {489ms} PasteUpMorph(Morph)>>addMorph:inFrontOf:
| 13.0% {489ms} PasteUpMorph(Morph)>>privateAddMorph:atIndex:
| 13.0% {489ms} PasteUpMorph(Morph)>>addedOrRemovedSubmorph:
| 13.0% {489ms} MenuMorph(Morph)>>fullBounds
| 13.0% {489ms} MenuMorph(Morph)>>doLayoutIn:
| 10.8% {407ms} TableLayout>>layout:in:
| 10.8% {407ms} TableLayout>>layoutTopToBottom:in:
| 7.8% {294ms} MenuItemMorph(Morph)>>layoutInBounds:
| 4.3% {162ms} MenuItemMorph(Morph)>>bounds:
6.1% {230ms} PluggableListMorph>>getMenu:
6.1% {230ms} PluggableListMorph(ScrollPane)>>getMenu:
**Leaves**
5.2% {196ms} OrderedCollection>>do:
4.3% {162ms} GrafPort(BitBlt)>>clipRect:
3.9% {147ms} Rectangle class>>origin:corner:
3.9% {147ms} Point>>+
3.5% {132ms} DisplayScreen>>forceToScreen:
3.5% {132ms} IdentityDictionary>>scanFor:
3.0% {113ms} IdentityDictionary(Dictionary)>>at:ifAbsent:
2.6% {98ms} IdentityDictionary(Set)>>findElementOrNil:
2.6% {98ms} Rectangle>>setOrigin:corner:
2.6% {98ms} Rectangle>>right
2.6% {98ms} StringMorph(Morph)>>valueOfProperty:ifAbsent:
2.6% {98ms} Point>>-
**Memory**
old +48,268 bytes
young -137,948 bytes
used -89,680 bytes
free +89,680 bytes
**GCs**
full 0 totalling 0ms (0.0% uptime)
incr 369 totalling 441ms (12.0% uptime), avg 1.0ms
tenures 1 (avg 369 GCs/tenure)
root table 0 overflows
More information about the Squeak-dev
mailing list
|