Göran,
I think it mostly depends on what you are trying to do. In Morphic, measuring the "time to handle an event" is an utterly meaningless measure for responsiveness because you are neglecting important other parts of the system (such as time spent in layout, redrawing, stepping etc). This is why there were all of those "doOneCycleNow" spread out in the places (removing them will make the code almost infinitely faster). Also, what the code I sent around was intended for is to get a general feeling for "what part to look first" in order to find good candidates for looking closer. What it should tell us is not which method exactly to look at but to compare how much time is spent in construction, interaction, repainting and other parts that relate to UI feel.
Cheers, - Andreas
-----Original Message----- From: squeak-dev-admin@lists.squeakfoundation.org [mailto:squeak-dev-admin@lists.squeakfoundation.org] On Behalf Of Göran Hultgren Sent: Friday, August 02, 2002 12:14 AM To: squeak-dev@lists.squeakfoundation.org Subject: RE: Morphic slowness (was Re: Does *anyone* use MVC?)
Hi guys!
Quoting Andreas Raab Andreas.Raab@gmx.de:
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 [SNIP of tricky code]
I also got triggered by Tim but since I know "nada" about how Morphic works "inside" I just fling in a "0 halt", investigated the stack to find out where the heck the Events "get born" and thought I could just insert some tallying around the Event processing...
Of course this isn't so easy - you need several iterations to get any interesting results and I couldn't just insert a loop because that would sortof "mess things up badly" so finally to my question:
- Could we extend the MessageTally class so that we could
create an instance once and then let it spy on a certain piece of code over and over again and thus accumulating "real data" but only about the piece of code we are interested in?
Wouldn't this be useful? We could also use it with Wrappers to even more "pinpoint" the code we want to study.
Or am I talking jibberish?
regards, Göran
Göran Hultgren, goran.hultgren@bluefish.se GSM: +46 70 3933950, http://www.bluefish.se "Department of Redundancy department." -- ThinkGeek