Real profiling: Why is my UI so slow?

Matthew Fulmer tapplek at
Sat Jan 26 06:25:35 UTC 2008

Hi all. While playing around with my DeltaStreamBrowser, I see
that it takes four seconds for the UI to update after I click on
a change. And I have no idea why.

I've often wondered why the browser is so slow too, and now I
have the need to find out. So, How does one go about debugging

I know about MessageTally and TimeProfileBrowser, but I've only
seen them used on well-defined code, not in the wild in the
Squeak UI. And I know about world > debug > Message Tally, but I
really have no idea what the numbers they report mean, or what
to look for in the reports they return, or how to even know what
messages were sent while actually processing my click vs. in
between while I move the mouse around.

What I would really like to happen is, I tell squeak: "Pop-up a
debugger on the next click". Then, on the next click, the UI
process is suspended and shown in a debugger that has it's own
private UI loop. Is anything like this possible? I am sure the
Morphic event loop was not created without the help of the
debugger, but I really have no idea how to trace a UI event from
post to screen-update.

So, that is what I have to work with, and how I don't know what
to do with it. So, how do I track down the latency problem?

Matthew Fulmer --
Help improve Squeak Documentation:

More information about the Squeak-dev mailing list