[comp.windows.x] V11 toolkit sizes

jg@jumbo.UUCP (02/26/87)

Some people are (justifiably) concerned about executable sizes when using
toolkits on X, in particular for V11, after the painful experience of
binary sizes on some other window systems we can name (but won't).
Such sizes often determine application startup time, not to mention
the disk space used.  So, let me give you some more concrete numbers....

Under development is a front end for mh (xmh), which is an excellent
exercise of X and toolkits.  It provides a mouse oriented interface
something like mhe, but with scroll bars, button panels, forms, emacs
style editor, and so on, using a second approximation of the V11 toolkit
a'la the joint DEC/HP request for comments.  It uses essentially all of
the toolkit functions, for example, button colors can be set on a per button
basis. It is being used as one of the major test applications.
For good performance, it is doing caching of folder entries, etc, and
provides a good interface to essentially all of MH's abilities;
some of it in duplication to MH, and some by using some of MH's commands
as children with pipes.  It provides an interface to essentially all of
MH's functions.  (End of rave; it is actually much nicer than
I have space to describe here; I would no longer be able to survive my
mail without it.).

It serves as a good example of a very complex and ambitious toolkit program, 
doing non-trivial amounts of non-toolkit work on behalf of the user.

Its current size on the VAX today, without optimization (still being 
worked on), is:

text	data	bss
147456	27648	8028

The size of the stripped binary is 176128 (I only had a -g binary lying
around).

I have no good feeling as to how much of the code is toolkit, how much
is Xlib, and how much is the application, but it is pretty clear that 
the executables are very much smaller than many other systems.

If window management had to be built into each program, it would not
surprise me to see executable sizes climb dramatically.  We now have
V11 running to where the "not a window manager" window manager can
provide titlebars, resize and top boxes, (decoration), completely
external to applications.  It can be started and stopped on the fly,
and everything happens correctly, with the window decorations and
associated management appearing and disappearing as the window manager
is started and stopped.  In V11 there will be no excuse to build any
window management function into an application.

And no, you can't get a copy of xmh right now....  Don't even 
THINK of asking..... I am not willing to even tell you the author's name. 

				Jim Gettys