Real profiling: Why is my UI so slow?
***
>Matthew Fulmer tapplek at gmail.com
>Mon Jan 28 05:04:39 UTC 2008
>
>On Sat, Jan 26, 2008 at 10:07:03PM -0800, Jerome
Peace wrote:
>> This is mostly external observations. At the time I
>> reported this I hadn't learned to use the tally
tools
>> usefully. (I still haven't. They give too much
>> information. I want something that will point me
>> quickly to the culprit.)
>I talked to Bryce about this on #squeak, and he gave
several
>suggestions:
>
>- In MessageTally reports, look for big drops in time
usage from
> a parent to child method. That usually points
toward the
> culprit
That sounds logical.
>- Insert logging statements in code. In Keith's
Logging
> framework (
http://wiki.squeak.org/squeak/3706), I
added a
> method just to make logging profiles easy. It helps
to see
> when a method is getting called way too often.
>
I let you follow this one. I want to find answers to
yes no questions quickly.
Then play 20 questions till the bug is found. Then the
joy of trying to find the right solution. (If there is
one.)
>I still don't see how to use the debugger effectively
to profile
>UI's, since events will be posted from the debugger
thread, but
>screen updates happen in the UI thread, which is
impossible to
>get a useful debugger on (as far as I can tell)
I've been implementing the probe I mentioned my
previous post. It looks fruitful. Invalidating some
spots seem to cause significantly more delay than
others. Next step is to display the data. If it works
the way I think it should the slow spots will "cast"
shadows. And the culprits will stand out.
preliminary samples at:
http://bugs.squeak.org/view.php?id=68760006876: Why is my UI slow?
Yours in curiosity and service, --Jerome Peace
One other clue I found while looking at the code is
that all scroll bars are stepped. The slower browsers
seem to have the most scroll bars. So I am wondering
if prefering the hidden till you need them scroll bars
speeds things up?
Yours in curiosity and service, - Jerome Peace
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now.
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ