Morphic slowness (was Re: Does *anyone* use MVC?)

Andreas Raab Andreas.Raab at gmx.de
Thu Aug 1 21:35:59 UTC 2002


Tim,

> > What performance problems are you seeing?
> General tardiness in a non-descript way.
[...]
> I suppose we really need some good meaningful test scenarios 
> that can be automated and profiled to really try to sort this out.

Well, then let's get started. You say that opening menus hurts?! So how
about (from a workspace):

selectItems := false. "if true, select all the menu items"
Browser fullOnClass: Morph selector: #aboutToBeGrabbedBy:.
World doOneCycleNow.
MessageTally spyOn:[
	World firstSubmorph "the app" allMorphsDo:[:m|
		(m isKindOf: ScrollPane) ifTrue:[
			1 to: 10 do:[:i|
			(m getMenu: false) ifNotNilDo:[:menu|
				menu popUpAt: m position forHand: m
activeHand in: m world.
				World doOneCycleNow.

selectItems ifTrue:[
				menu submorphs do:[:item|
					(item isKindOf: MenuItemMorph)
ifTrue:[
						menu selectItem: item
event: m activeHand lastEvent.
						World doOneCycleNow.
					].
				].
].
				menu delete.
				World doOneCycleNow.
			].
			].
		].
	].
].

That should give you a pretty decent hint about what is going on ;-)

Cheers,
  - Andreas




More information about the Squeak-dev mailing list