[comp.windows.x] Size of toolkit-using programs?

Sherman.Uitzetter@MAPS.CS.CMU.EDU (06/24/89)

  I am using a VAXstation II to write programs for X11R3 using the X toolkit.
My question is what is the typical size of such programs?  It seems that all
(really just two) of the programs I have written come out at around 2 MEGS.
Is this normal when the toolkit libraries are used or do I have some unusually
large libraries, or what?

Thanks in advance for a response.

-Sherman.

kit@EXPO.LCS.MIT.EDU (Chris D. Peterson) (06/27/89)

>  I am using a VAXstation II to write programs for X11R3 using the X toolkit.
> My question is what is the typical size of such programs?  It seems that all
> (really just two) of the programs I have written come out at around 2 MEGS.
> Is this normal when the toolkit libraries are used or do I have some unusually
> large libraries, or what?

Toolkit applications are big, but not usually that big, here are a few from
my home machine (a tek4310):

-rwxrwxr-x  1 kit        434176 May 16 13:41 xmh/xmh
-rwxrwxr-x  1 jim        418816 Jun  7 16:29 xman/xman
-rwxrwxr-x  1 jim        431104 Jun 22 19:31 xterm/xterm
-rwxrwxr-x  1 kit        377856 May 11 18:46 xedit/xedit

These are all fairly complicated programs, and of course things tend to vary
depending upon your machine's instruction set.  It sounds like perhaps one
or more of your libraries may have been compiled with debugging information.
That tends to make toolkit applications really big.

						Chris D. Peterson     
						MIT X Consortium 

Net:	 kit@expo.lcs.mit.edu
Phone:   (617) 253 - 9608	
Address: MIT - Room NE43-213

raveling@venera.isi.edu (Paul Raveling) (06/30/89)

	Every layer of support software, including the toolkit, Xlib,
	and even OS libraries, keeps getting fatter & bringing in what
	would seem to be more excess baggage.  From executable file
	sizes the tooklit does appear to be the biggest offender,
	but certainly not the only one.  The rest of this message
	illustrates with some samples.


In article <8906271618.AA08184@expo.lcs.mit.edu> kit@EXPO.LCS.MIT.EDU (Chris D. Peterson) writes:
>
>Toolkit applications are big, but not usually that big, here are a few from
>my home machine (a tek4310):

	Adding sizes for both X11 & X10 on our HP 9000/300 series machines:

			Tek4310		     HP 9000/300
	Program		  X11		 X11R3		X10R2
	-------		  ---		 -----		-----

>These are all fairly complicated programs, ...

	xmh		434176		439004		 ---
	xman		418816		410337		 ---
	xterm		431104		423500		188068  **
	xedit		377856		385514		 ---

	**  BTW, xterm's level of functional complexity is about
	    the same as what I implemented in less than 32K for a custom
	    terminal a decade ago.  That included a small OS kernel.

****  Here are some simpler programs:

	xbiff		  ---		285780		 ---
	xclock		  ---		298494		 59372
	xload		  ---		289817		 46768

****  Here are a couple that don't use the toolkit:

	xsetroot	  ---		120308		 41052
	xrefresh	  ---		106978		 24976

****  And finally, a token example of virtually the simplest possible
      program, a tiny benchmark, that calls no system functions of any sort,
      doesn't even include ANY header files in compilation:

	Assembly language on HP 9000/370:			  591
	C On an HP 9000/370, compiled under HP-UX 6.5:	 	 5284
	C On a NeXt machine, compiled under MACH:		50728


	Maybe we should all buy stock in companies that manufacture
	RAM and disks...  or take another look at the architecture
	of multi-layered system software, including Xlib and Xt.


----------------
Paul Raveling
Raveling@isi.edu

jim@EXPO.LCS.MIT.EDU (Jim Fulton) (07/01/89)

>        xmh             434176          439004           ---
>        xman            418816          410337           ---
>        xterm           431104          423500          188068  **
>        xedit           377856          385514           ---
>

Yes, X11 programs are getting larger, but then they are also beginning to be
useful as well (since you're comparing the V10R2 xterm, I assume that it had
tek mode in it; I can't remember).  It could definitely be smaller, but a fair
bit of that overhead is what gives you the ability to tailor the program to
your environment as well as make it easier to develop and maintain. 

For chuckles let's also add a line for the current xterm on a Sun3 with SunOS
4.0.1 and shared Xlib: 327,680 bytes.  If Xt, Xaw, and Xmu were shared as well,
I'd be even happier (but don't hold your breath, that represents a fair amount
of surgery). 


>        **  BTW, xterm's level of functional complexity is about
>            the same as what I implemented in less than 32K for a custom
>            terminal a decade ago.  That included a small OS kernel.

Gee, vt102, tek4014, multiclick selections, 8bit input and output, string
insertion, resizing, repainting, dynamic scrolling, colors, popup menus,
logging, jump and smooth scroll, all with user-settable bindings in under 32k.



>       Maybe we should all buy stock in companies that manufacture
>       RAM and disks...

Didn't you know that was what all of these consortia are about!  :-)


>                          or take another look at the architecture
>       of multi-layered system software, including Xlib and Xt.

Yes, things have grown (and have even gotten a little fat in places), but
functionality and flexibility don't come for free.  They're part of what
separates hacks from applications (a term which I'm hesitant to apply to any of
the programs in the MIT distribution, although xman, xmh, and xterm are
starting to come close).