Morphic slowness (was Re: Does *anyone* use MVC?)
John M McIntosh
johnmci at smalltalkconsulting.com
Thu Aug 1 23:14:02 UTC 2002
Mm on a 3.2.7b6 vm on a 500Mhz powerbook
- 476 tallies, 8803 msec.
**Tree**
81.3% {7157ms} PasteUpMorph>>doOneCycleNow
|81.3% {7157ms} WorldState>>doOneCycleNowFor:
| 80.0% {7042ms} WorldState>>displayWorldSafely:
| 80.0% {7042ms} PasteUpMorph>>displayWorld
| 80.0% {7042ms} PasteUpMorph>>privateOuterDisplayWorld
| 80.0% {7042ms} WorldState>>displayWorld:submorphs:
| 66.6% {5863ms} WorldState>>drawWorld:submorphs:invalidAreasOn:
| |63.4% {5581ms} FormCanvas(Canvas)>>fullDrawMorph:
| | 63.2% {5563ms} FormCanvas(Canvas)>>fullDraw:
| | 62.6% {5511ms} MenuMorph(Morph)>>fullDrawOn:
| | 52.3% {4604ms} MenuMorph(Morph)>>drawSubmorphsOn:
| | |52.3% {4604ms} FormCanvas(Canvas)>>fullDrawMorph:
| | | 52.1% {4586ms} FormCanvas(Canvas)>>fullDraw:
| | | 51.9% {4569ms} MenuLineMorph(Morph)>>fullDrawOn:
| | | 40.1% {3530ms}
PluggableTextMorph(Morph)>>drawSubmorphsOn:
| | | |39.9% {3512ms}
FormCanvas(Canvas)>>fullDrawMorph:
| | | | 39.9% {3512ms}
FormCanvas(Canvas)>>fullDraw:
[39.9% {3512ms} RectangleMorph(Morph)>>fullDrawOn:
[ 17.6% {1549ms} IconicButton(Morph)>>drawSubmorphsOn:
[ |17.0% {1497ms} FormCanvas(Canvas)>>fullDrawMorph:
[ | 16.6% {1461ms} FormCanvas(Canvas)>>fullDraw:
[ | 16.4% {1444ms} SketchMorph(Morph)>>fullDrawOn:
[ | 4.2% {370ms} PluggableButtonMorph(Morph)>>drawSubmorphsOn:
[ | |4.2% {370ms} FormCanvas(Canvas)>>fullDrawMorph:
[ | | 4.2% {370ms} FormCanvas(Canvas)>>fullDraw:
[ | | 4.2% {370ms} AlignmentMorph(Morph)>>fullDrawOn:
[ | 3.4% {299ms} FormCanvas(Canvas)>>drawMorph:
[ | |3.4% {299ms} FormCanvas(Canvas)>>draw:
[ | | 2.3% {202ms} RectangleMorph(Morph)>>drawOn:
[ | | 2.3% {202ms}
FormCanvas(Canvas)>>fillRectangle:fillStyle:borderStyle:
[ | 3.2% {282ms} TransformMorph>>drawSubmorphsOn:
[ | |3.2% {282ms} FormCanvas(Canvas)>>fullDrawMorph:
[ | | 3.2% {282ms} FormCanvas(Canvas)>>fullDraw:
[ | | 3.2% {282ms} TextMorphForEditView(Morph)>>fullDrawOn:
[ | | 3.2% {282ms} FormCanvas(Canvas)>>drawMorph:
[ | | 3.2% {282ms} FormCanvas(Canvas)>>draw:
[ | | 2.7% {238ms} TextMorphForEditView(TextMorph)>>drawOn:
[ | | 2.7% {238ms} FormCanvas>>paragraph:bounds:color:
[ | | 2.7% {238ms} NewParagraph>>displayOn:using:at:
[ | 3.2% {282ms} FormCanvas(Canvas)>>roundCornersOf:during:
[ | 3.2% {282ms} FormCanvas>>roundCornersOf:in:during:
[ | 2.9% {255ms} CornerRounder
class>>roundCornersOf:on:i...orderWidth:corners:
[ 9.5% {836ms} TransformMorph>>drawSubmorphsOn:
[ |8.8% {775ms} FormCanvas(Canvas)>>fullDrawMorph:
[ | 8.8% {775ms} FormCanvas(Canvas)>>fullDraw:
[ | 8.8% {775ms} StringMorph(Morph)>>fullDrawOn:
[ | 4.6% {405ms} FormCanvas(Canvas)>>drawMorph:
[ | 4.6% {405ms} FormCanvas(Canvas)>>draw:
[ | 2.7% {238ms} TextMorphForEditView(TextMorph)>>drawOn:
[ | 2.5% {220ms} FormCanvas>>paragraph:bounds:color:
[ | 2.3% {202ms} NewParagraph>>displayOn:using:at:
[ | 2.3% {202ms}
DisplayScanner>>displayLine:offset:leftInRun:
[ 5.0% {440ms} FormCanvas(Canvas)>>roundCornersOf:during:
[ |4.8% {423ms} FormCanvas>>roundCornersOf:in:during:
[ | 4.0% {352ms} CornerRounder
class>>roundCornersOf:on:i...orderWidth:corners:
[ | 2.3% {202ms} CornerRounder>>tweakCornersOf:on:in:borderWidth:corners:
[ 4.0% {352ms} FormCanvas(Canvas)>>drawMorph:
[ 4.0% {352ms} FormCanvas(Canvas)>>draw:
[ 3.4% {299ms} RectangleMorph(Morph)>>drawOn:
[ 3.4% {299ms} FormCanvas(Canvas)>>fillRectangle:fillStyle:borderStyle:
| | | 7.6% {669ms} FormCanvas(Canvas)>>drawMorph:
| | | 7.4% {651ms} FormCanvas(Canvas)>>draw:
| | | 2.5% {220ms}
PluggableMessageCategoryListMorph(PluggableListMorph)>>drawOn:
| | 5.3% {467ms} FormCanvas(Canvas)>>drawMorph:
| | |5.3% {467ms} FormCanvas(Canvas)>>draw:
| | | 4.0% {352ms} SystemWindow(Morph)>>drawOn:
| | | 3.4% {299ms}
FormCanvas(Canvas)>>fillRectangle:fillStyle:borderStyle:
| | | 2.7% {238ms}
RaisedBorder(SimpleBorder)>>frameRectangle:on:
| | 4.4% {387ms} FormCanvas(Canvas)>>roundCornersOf:during:
| | 4.4% {387ms} FormCanvas>>roundCornersOf:in:during:
| | 4.0% {352ms} CornerRounder
class>>roundCornersOf:on:i...orderWidth:corners:
| | 2.7% {238ms}
CornerRounder>>tweakCornersOf:on:in:borderWidth:corners:
| 12.8% {1127ms} WorldState>>forceDamageToScreen:
| 12.8% {1127ms} DisplayScreen>>forceDamageToScreen:
| 12.8% {1127ms} DisplayScreen>>forceToScreen:
13.0% {1144ms} MenuMorph>>popUpAt:forHand:in:
|13.0% {1144ms} MenuMorph>>popUpAt:forHand:in:allowKeyboard:
| 11.8% {1039ms} PasteUpMorph>>addMorphFront:
| 11.8% {1039ms} PasteUpMorph(Morph)>>addMorphInFrontOfLayer:
| 11.8% {1039ms} PasteUpMorph(Morph)>>addMorph:inFrontOf:
| 11.8% {1039ms} PasteUpMorph(Morph)>>privateAddMorph:atIndex:
| 11.6% {1021ms} PasteUpMorph(Morph)>>addedOrRemovedSubmorph:
| 11.6% {1021ms} MenuMorph(Morph)>>fullBounds
| 11.6% {1021ms} MenuMorph(Morph)>>doLayoutIn:
| 10.1% {889ms} TableLayout>>layout:in:
| 10.1% {889ms} TableLayout>>layoutTopToBottom:in:
| 7.8% {687ms} MenuItemMorph(Morph)>>layoutInBounds:
| 6.1% {537ms} MenuItemMorph(Morph)>>bounds:
| 3.2% {282ms} MenuItemMorph(Morph)>>extent:
| 2.9% {255ms} MenuItemMorph(Morph)>>changed
| 2.9% {255ms} MenuItemMorph(Morph)>>invalidRect:
| 2.9% {255ms}
MenuItemMorph(Morph)>>invalidRect:from:
[2.7% {238ms} MenuMorph(Morph)>>invalidRect:from:
4.2% {370ms} PluggableListMorph>>getMenu:
4.2% {370ms} PluggableListMorph(ScrollPane)>>getMenu:
**Leaves**
12.8% {1127ms} DisplayScreen>>forceToScreen:
4.0% {352ms} Rectangle>>top
3.4% {299ms} SmallInteger(Magnitude)>>max:
2.7% {238ms} IdentityDictionary>>scanFor:
2.5% {220ms} IdentityDictionary(Dictionary)>>at:ifAbsent:
2.5% {220ms} Form>>depth
2.3% {202ms} SmallInteger class(Behavior)>>inheritsFrom:
**Memory**
old +91,648 bytes
young +152,140 bytes
used +243,788 bytes
free -243,788 bytes
**GCs**
full 0 totalling 0ms (0.0% uptime)
incr 370 totalling 987ms (11.0% uptime), avg 3.0ms
tenures 2 (avg 185 GCs/tenure)
root table 0 overflows
--
--
===========================================================================
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
===========================================================================
More information about the Squeak-dev
mailing list
|