performance questions

Tom tmb-squeak at lumo.com
Sat Mar 17 22:04:24 UTC 2001


I would like to use Squeak to experiment with some web and UI ideas.
It seems like a great environment for that, and I have written some
smaller prototypes.  I'm having some problems with performance, though.

I'm running Squeak 3.0 on a Linux RH7 system (I had similar experiences
with 2.x).  I checked the FAQ, but it doesn't seem to answer a number
of questions I have about performance.  My machine is 300MHz PII with
256M of RAM.  Not the fastest, but not exactly slow either.  I did
experiment with various Preferences settings and I turned off flaps,
but none of that seemed to make much of a difference.

 -- I noticed that Squeak is taking up between 50-90% of the CPU
    even when I'm doing nothing.  Is that the regular calls to the
    Morphic "step" methods?  But even those are supposed to happen
    only once a second.  Why does Squeak never rest?  Is there some
    busy waiting going on there?

 -- How much of these performance issues is related to running Squeak on
    the Linux platform?  I checked with strace and ltrace.  Sitting idly,
    it seems to be calling "gettimeofday" a lot, check with XPending 
    regularly, and call "sin" and "modf" quite a bit.  Expensive stuff
    like drawing only seems to happen when something actually changes.
    So, it looks to me like running it on Linux isn't the issue; but does
    it actually run faster on MacOS?  Do I just need a 1GHz P4?

 -- Squeak seems to be non-responsive during many network and name
    resolution operations.  Is this a shortcoming of specific 
    applications, or are there limitations in the Squeak implementation
    that make some network operations intrinsically blocking?
    This is pretty important for me for writing UIs that interact with 
    the network.

 -- General responsiveness in Morphic seems pretty sluggish.  I would
    estimate that scrollbars take several hundred milliseconds to pop
    up after a click, windows take about a second to come to the front
    when clicked on.  Deleting a pane in the Whisker browser takes about
    2 seconds.   (I also find it a bit confusing that while such operations
    are in progress, there is no feedback that anything is in progress.)

 -- Plain MVC seems a lot faster; maybe I should be using it, although
    it seems much less convenient than Morphic and seems to lack features
    like drag-and-drop.  But is MVC by itself still usable?  Many of
    the windows that come up in MVC seem like they are actually Morphic
    windows.  How would I creat an MVC-only image?

 -- Is there some window I can create that shows me what is going
    on inside the VM (processes running, memory used, garbage collection
    in progress, network connections, etc.)?

Thanks in advance for any suggestions.

Tom.





More information about the Squeak-dev mailing list