performance of 2.4 under Linux

Ian Piumarta Ian.Piumarta at inria.fr
Fri Jul 16 11:42:29 UTC 1999


> when running with a remote X server, BitBlt operations appear to
> be very slow.

Ah, now I understand.  The bottleneck is your network.  Upgrade to a 100Mb
ethernet and the performance problems will go away.  (I'm actually half
serious: running remote Squeak on a 10Mb ethernet is _really_ frustrating.
The math concurs precisely with reality: it takes about one second to
complete a full-screen remote Squeak display update at 1152x900x8 with a
10Mb network and no collisions.  On my 100Mb ethernet, remote performance is
pretty much indistinguishable from local.)

FWIW, every display update involves transferring the entire affected region
of the bitmap to the X server since the bitmap memory is inside Squeak (and
not inside the server, where X would prefer it to be).  The only alternative
to this that I can see is to mirror Squeak's BitBlt operation with
equivalent X drawing operations, which: (a) isn't obvious, (b) isn't
portable without lots of unnecessary extra work on non-X11 platforms, (c)
eliminates the possibility of directly manipulating Squeak's Display bitmap
(with BitBlt or otherwise) and then "invalidating" the affected region (or
ideally even making Display's Bitmap actually *be* the physical
framebuffer), (d) requires a redesign of the graphics kernel in Squeak, and
(e) addresses the symptom only (sluggish visual response to modifications of
the Display Bitmap) rather than the cause (insufficient network bandwidth).
(Or some combination thereof, depending on the details.)

<ObUnrealisticCynicalRemark>
It's kind of like throwing away $billions of research grant money to
investigate web mirrors and caches, whereas the same investment in a better
Internet backbone would have already solved the problems -- and improved the
lot of non Web-centric Internet users too.
</ObUnrealisticCynicalRemark>

The systems previously cited probably have better display performance
because they assume graphics "canvases" are external objects, which is much
friendlier to X as they can be stored in server memory rather than in client
memory when the display is remote.  I assume this is what Glenn was getting
at when he said comparing VW with Squeak is like comparing apples to
oranges.

> I often use Tenon's XTen 6.1 X server to interface to my RH Linux.

I think I read somewhere that Squeak even runs under MacOS now!  If not
then take a look at www.linuxppc.org. ;-) ;-) ;-) ;-)

Gotta go [for a rather long time -- happy Squeaking!]

Ciao,

Ian





More information about the Squeak-dev mailing list