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
|