[comp.windows.news] NeWS speed

simsong@mit-amt.UUCP (05/14/87)

A friend of mine said that AI group at MIT is never going to be running
NeWS on many workstations. One of the reasons he gave was that X will
always be at least a factor of 3 faster than NeWS.

I started thinking about all of the atoi() that news always has to do, 
and the fact that it is interperted, and am beginning to think that he
might be right. Is there any truth to this?

guy%gorodish@Sun.COM (Guy Harris) (05/15/87)

> A friend of mine said that AI group at MIT is never going to be running
> NeWS on many workstations. One of the reasons he gave was that X will
> always be at least a factor of 3 faster than NeWS.
> 
> I started thinking about all of the atoi() that news always has to do, 
> and the fact that it is interperted, and am beginning to think that he
> might be right. Is there any truth to this?

Well:

   1) I don't know that the ASCII-to-binary conversions are
      necessarily going to make much difference:

	a) There is a "compressed" format that can be used for sending
	   PostScript over the wire.

	b) Applications may be able to make use of the
	   programmability of NeWS to reduce communication overhead,
	   so there may be more drawing, etc. than I/O.

   2) Yes, NeWS has an interpreter, but will it be spending most of
      its time interpreting PostScript or computing images?

If the claim is made that X is now at least a factor or 3 faster than
NeWS, the only way to ascertain whether this claim is true or false
would be to test it with a given application or set of applications.
Does anybody have this sort of data?

If the claim is made that X will always be at least a factor of 3
faster than NeWS, I would tend to doubt this claim simply because I
tend to doubt *any* bold sweeping claim about performance.  Bold
sweeping claims about performance quite often turn out to be false.
After all, at one point people thought networked window systems would
be unacceptably slow (in fact, I remember James Gosling saying in a
talk that before Andrew was built *he* originally suspected they
would be unacceptably slow).

X and NeWS are large complicated systems; only somebody quite
familiar with the innards of both would be able to make even
approximate quantitative claims like that.  Furthermore, such a claim
cannot be made without some knowledge of the types of applications
likely to be run under X and NeWS and the fashion in which those
applications use the facilities of X and NeWS.

wyatt@cfa.UUCP (05/15/87)

> 
> A friend of mine said that AI group at MIT is never going to be running
> NeWS on many workstations. One of the reasons he gave was that X will
> always be at least a factor of 3 faster than NeWS.
> 
> I started thinking about all of the atoi() that news always has to do, 
> and the fact that it is interperted, and am beginning to think that he
> might be right. Is there any truth to this?

I suspect the above factor of 3 refers to the emulation of X underneath
NeWS, which makes sense, since you are going through more layers.

I also suspect this is why Sun has since decided to provide a native X V11
system, as well as NeWS, as well as (presumeably) the X under NeWS.

As to comaprisons of native V11 and NeWS on the same hardware, does 
anyone have real tests? Can they easily be compared at all?
-- 

Bill    UUCP:  {seismo|ihnp4}!harvard!cfa!wyatt
Wyatt   ARPA:  wyatt@cfa.harvard.edu
         (or)  wyatt%cfa@harvard.harvard.edu
      BITNET:  wyatt@cfa2
        SPAN:  17410::wyatt   (this will change in June)

peterson@milano.UUCP (05/16/87)

In article <1116@mit-amt.MEDIA.MIT.EDU>, simsong@mit-amt.MEDIA.MIT.EDU (Simson L. Garfinkel) writes:
> A friend of mine said that AI group at MIT is never going to be running
> NeWS on many workstations. One of the reasons he gave was that X will
> always be at least a factor of 3 faster than NeWS.
> 
> I started thinking about all of the atoi() that news always has to do, 
> and the fact that it is interperted, and am beginning to think that he
> might be right. Is there any truth to this?

We have both NeWS and X running on our Suns (and Andrew and Suntools
and ...) and have been trying some simple tests lately.  As a simple
comparison of the two systems we wrote a program in C for X that
creates a full-screen window then creates 1089 subwindows of that
full-screen window, 33 rows of 33 columns.  Each window is 50% larger
than the space between its neighbors, so all windows overlap.  Each
window has a line drawn 5 pixels in from its edges (to form a box) and
is labelled with its number (1 to 1089) centered in the box.  After
all windows are created, they are "raised to top" starting from 1089
down to 1.  No events handled, so X paints the overlaps with the
default background.

Running with the display server on another Sun over an ethernet,
it takes X 53 seconds (real time) to do this. 

Taking the same program and replacing each X call with a call to a
Postscript function, and writing a CPS file which defines these
functions, the same program takes NeWS 55 seconds (real time).

(Our Postscript programmer complained bitterly about this test
because he said that if he had been asked to do this, he would have
either written the whole program in PostScript, or at least written
all the code for one subwindow creation in PostScript -- he would never
have simply imitated the X request structure).

What does this prove? Nothing, necessarily. Neither code was optimized;
the Sun X server is obviously not polished code (although neither is
NeWS). This one test may or may not be typical of the use that you want
to put either program to.  But there is no evidence that either is
necessarily terribly worse than the other, from a performance point
of view.
-- 
James Peterson
peterson@mcc.com  or  ...sally!im4u!milano!peterson

don@BRILLIG.UMD.EDU (Don Hopkins) (05/16/87)

Date: Fri, 15 May 87 03:49:36 EDT
From: Don Hopkins <don@brillig.umd.edu>
To: simsong@media-lab.media.mit.edu
Cc: news-makers@brillig.umd.edu
Subject: NeWS speed

   Date: 14 May 87 14:34:58 GMT
   From: simsong@media-lab.media.mit.edu  (Simson L. Garfinkel)

   A friend of mine said that AI group at MIT is never going to be running
   NeWS on many workstations. One of the reasons he gave was that X will
   always be at least a factor of 3 faster than NeWS.

   I started thinking about all of the atoi() that news always has to do, 
   and the fact that it is interperted, and am beginning to think that he
   might be right. Is there any truth to this?

If that is the case, then I wonder why gnumacs is so popular at MIT,
when vi is so much faster? You don't think it's because it was written
there, do you? Naaaw.

	-Don

simsong@MEDIA-LAB.MEDIA.MIT.EDU (Simson L. Garfinkel) (05/16/87)

Date: Fri, 15 May 87 10:29:58 EDT
From: Simson L. Garfinkel <simsong@MEDIA-LAB.MEDIA.MIT.EDU>
To: don@brillig.umd.edu
Cc: news-makers@brillig.umd.edu
Subject: NeWS speed

   Date: Fri, 15 May 87 03:49:36 EDT
   From: Don Hopkins <don@brillig.umd.edu>

   If that is the case, then I wonder why gnumacs is so popular at MIT,
   when vi is so much faster? You don't think it's because it was written
   there, do you? Naaaw.

	   -Don

But vi isn't faster, Don. EMACS allows you to do a lot of powerful
things that would either require many, many keystrokes in vi, or are
simply not possible. Examples include running "make" in a buffer and
then using ^X^N to jump to the next line in your c-program that
generated the error message (even if in a different file). Or reading
your mail from within EMACS. Or rebinding the keyboard. Or any number
of other things.

................................................................simson

andrew@hu-isd.UUCP (Andrew Stewart) (05/16/87)

From: Andrew Stewart <mcvax!hu-isd!andrew@seismo.CSS.GOV>
Date: Fri, 15 May 87 14:24:22 -0100
Subject: NeWS speed

>A friend of mine said that AI group at MIT is never going to be running
>NeWS on many workstations. One of the reasons he gave was that X will
>always be at least a factor of 3 faster than NeWS.

Errm - well - it depends. If you assume that you will always work in software,
it's true. But NeWS has less net traffic than X in many cases, and much more
of NeWS can be moved into VLSI - think of the transform functions and the path
operations.

Andrew Stewart

don@BRILLIG.UMD.EDU (Don Hopkins) (05/16/87)

Date: Fri, 15 May 87 17:26:08 EDT
From: Don Hopkins <don@brillig.umd.edu>
To: simsong@MEDIA-LAB.MEDIA.MIT.EDU
Cc: news-makers@brillig.umd.edu
Subject: NeWS speed

   Date: Fri, 15 May 87 10:29:58 EDT
   From: Simson L. Garfinkel <simsong@MEDIA-LAB.MEDIA.MIT.EDU>

   But vi isn't faster, Don. EMACS allows you to do a lot of powerful
   things that would either require many, many keystrokes in vi, or are
   simply not possible. Examples include running "make" in a buffer and
   then using ^X^N to jump to the next line in your c-program that
   generated the error message (even if in a different file). Or reading
   your mail from within EMACS. Or rebinding the keyboard. Or any number
   of other things.

   ................................................................simson

It surprizes me that you can see how much power built-in extensibility
gives to EMACS, yet you don't seem to realize what NeWS's extensibility
means.

	-Don

zs01#@ANDREW.CMU.EDU (Zalman Stern) (05/19/87)

Date: Sun, 17 May 87 19:26:05 edt
From: zs01#@andrew.cmu.edu (Zalman Stern)
Subject: Re: NeWS speed

I have worked with the Andrew window manager, the X11 alpha release, and used
NeWS. I would hardly call X11 3 times faster than NeWS. When you get right
down to it, the thing that takes lots of time is doing bitmap operations.
Parsing the PostScript or unpacking request buffers is somewhat lost in the
noise for most operations. NeWS is very fast at moving large bitmaps, and
drawing complex curves. In general, not to many people complain about the
*speed* of Gosling's programs.

The thing that bothered me was the memory utilization of these servers. We
expect the Andrew window manager to run in about 800k virtual memory/300k
resident set (this is assuming 4 applications, 6-8 heavyweight windows). All
the versions of X11 and NeWS I have seen quickly grow to over 2 megs of
virtual memory when you do anything with them. In the case of X11, it looked
like undebugged core leaks. I got the impression that NeWS was actually using
a sizable portion of its memory (i.e. it liked about 1 meg of resident set).
Paging will of course trash the performance of any window manger...

Issues I see as important:

1) X11 and NeWS are vastly different programming environments. X11 is much
closer to a typical graphics library, where NeWS can be anything you like.

2) PostScript is big in the electronic publishing market. One wonders if it
may become a standard for graphical data interchange.

3) Hardware potential. Which one will be first in silicon?

4) X11 is free. This alone may well kill off NeWS. (Why does MIT use GNU
emacs? Because its free in source code form...)

User Interface:

Neither X11 nor NeWS really enforces a given user interface. They both allow
you lots of freedom. There is something to be said for tighter user interface
control (i.e. Macintosh, Andrew). For example, one shouldn't be able to
assign 22 functions to the mouse (especially if some other application has
assigned 22 different functions). After a time, I expect to see numerous user
interfaces, some good, some bad.

Sincerely,
Zalman Stern
Internet: zs01#@andrew.cmu.edu     Usenet: ...seismo!andrew.cmu.edu!zs01#
USPS:   Information Technology Center
        Carnegie Mellon University
        Pittsburgh, PA 15213-3890