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=6876 0006876: 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
squeak-dev@lists.squeakfoundation.org