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