I am trying to track down why I am getting poor UI performance when dragging a connected morph around. The use of spyOn and TimeProfileBrowser both time the execution of a block. I could use these with code that executes only once at some point in the process, but that almost requires that I know where the issue is before I start. In Java environments the profilers support timing all activity in a session. Is there something in Squeak that allows this type of system wide monitoring?
Michael
On Tue, 28 Dec 2004 10:26:10 -0800, "Michael Latta" lattam@mac.com said:
I am trying to track down why I am getting poor UI performance when dragging a connected morph around. The use of spyOn and TimeProfileBrowser both time the execution of a block. I could use these with code that executes only once at some point in the process, but that almost requires that I know where the issue is before I start. In Java environments the profilers support timing all activity in a session. Is there something in Squeak that allows this type of system wide monitoring?
Yes. Go to the "debug..." menu and select "start MessageTally" (or "start/browse MessageTally"). Then, perform your operation in the UI that you want to profile. Then move your mouse up to the top of the window (as instructed).
This will give you a profile of what's going on in the UI. (Although it won't profile what's going on in other processes, but the UI process is usually what you want to profile anyway. You could open a ProcessBrowser if you think some other Squeak process is hogging the CPU.)
- Doug
Doug,
Does that require a 3.8 or 3.9 image? My image does not present that option on the debug menu for a system window morph. Does it require a special morph?
Michael
On Dec 28, 2004, at 10:38 AM, Doug Way wrote:
On Tue, 28 Dec 2004 10:26:10 -0800, "Michael Latta" lattam@mac.com said:
I am trying to track down why I am getting poor UI performance when dragging a connected morph around. The use of spyOn and TimeProfileBrowser both time the execution of a block. I could use these with code that executes only once at some point in the process, but that almost requires that I know where the issue is before I start. In Java environments the profilers support timing all activity in a session. Is there something in Squeak that allows this type of system wide monitoring?
Yes. Go to the "debug..." menu and select "start MessageTally" (or "start/browse MessageTally"). Then, perform your operation in the UI that you want to profile. Then move your mouse up to the top of the window (as instructed).
This will give you a profile of what's going on in the UI. (Although it won't profile what's going on in other processes, but the UI process is usually what you want to profile anyway. You could open a ProcessBrowser if you think some other Squeak process is hogging the CPU.)
- Doug
Sorry, I wasn't specific enough. Open the "debug..." submenu from the World menu. (not the morph debug menu)
This and other performance tuning tips are on this swiki page:
http://minnow.cc.gatech.edu/squeak/1799
- Doug
On Tue, 28 Dec 2004 14:43:26 -0800, "Michael Latta" lattam@mac.com said:
Doug,
Does that require a 3.8 or 3.9 image? My image does not present that option on the debug menu for a system window morph. Does it require a special morph?
Michael
On Dec 28, 2004, at 10:38 AM, Doug Way wrote:
On Tue, 28 Dec 2004 10:26:10 -0800, "Michael Latta" lattam@mac.com said:
I am trying to track down why I am getting poor UI performance when dragging a connected morph around. The use of spyOn and TimeProfileBrowser both time the execution of a block. I could use these with code that executes only once at some point in the process, but that almost requires that I know where the issue is before I start. In Java environments the profilers support timing all activity in a session. Is there something in Squeak that allows this type of system wide monitoring?
Yes. Go to the "debug..." menu and select "start MessageTally" (or "start/browse MessageTally"). Then, perform your operation in the UI that you want to profile. Then move your mouse up to the top of the window (as instructed).
This will give you a profile of what's going on in the UI. (Although it won't profile what's going on in other processes, but the UI process is usually what you want to profile anyway. You could open a ProcessBrowser if you think some other Squeak process is hogging the CPU.)
- Doug
squeak-dev@lists.squeakfoundation.org