Grasping the concept of Classes & Categories

Chris Muller chris at funkyobjects.org
Fri Jun 17 20:03:38 UTC 2005


Ah well, it sounds like you *do* have a reason to commingle your Customers
then.  My answer assumed none, other than code-reuse benefits.

> However, given my limited resources for hardware (mainly), I wasn't
> sure if I could, efficiently, run two Squeak images, each with
> Seaside listening on different ports and both front-ended by Apache
> on a single machine. I wasn't sure how two images could run on the
> same machine in terms of performance, processes, memory, etc.
> Assuming these would run on a dual-Xeon machine with 2GB RAM, would
> that be feasible?

That's a valid question.  Given your end-goal is to have good-performance for
users of both applications, an equally valid question is; will one
single-threaded Squeak VM efficiently run both applications?

My guess is a dual-Xeon machine with 2GB RAM will not run a single Squeak image
any faster than a single-Xeon machine.

For analogy, I currently, this very second as I'm typing, have five running
images on my 768MB 1.3GHz IBM laptop.  One of them is listening on two
different ports, two others are listening on one port each.  A fourth one is
not listening but is sending requests to the first three.  Millions of requests
are being sent to each other like mad.   Windows Task Manager shows 100% CPU
used for the last hour.  Meanwhile, I type this e-mail in Mozilla and I don't
even notice a spec of delay between keystrokes or any indication of stress. 
The same is true in the fifth Squeak image which is not participating in the
TCP/IP party.  That's because they are running on their own OS thread.

However, if I try to type in one of the other images that *is*
sending/receiving  requests, I notice little pauses between my keystrokes. 
This occurs because each VM runs in but a single thread, and when that thread
is handling a request, my keystrokes and/or the UI updates are blocked.

The point is, requests processed by one app will most likely temporarily block
requests for the other app, when both are running in the same image.  Something
worth considering for your planning..

Of course, if you're restricted on port #'s, that could present its own
challenge..

 - Chris



More information about the Squeak-dev mailing list