[comp.windows.x] Yet another R5 wish

crouch@crunchie.axion.bt.co.uk (Chris Rouch) (07/20/90)

One of the major problems we've had since upgrading to X11R4 is the size
of the applications. A typical (athena widget) application is of the
order of 2Mb; even a simple one is over 1Mb (R4 applications seem to be
between 20 and 50% bigger than their R3 equivelants). These soon add up
with the result that we frequently run out of swap space. It would be
really nice if the size of these could be reduced somewhat. 

Chris
-----------------------------------------------------------------------------
Chris Rouch                                             crouch@axion.bt.co.uk
RT3131, BTRL, Martlesham Heath, Ipswich, England.              +44 473 646093

We came, we saw, we lost on penalties.

meo@rsiatl.UUCP (Miles ONeal) (07/21/90)

(Chris Rouch) writes:

|One of the major problems we've had since upgrading to X11R4 is the size
|of the applications. A typical (athena widget) application is of the
|order of 2Mb; even a simple one is over 1Mb (R4 applications seem to be
|between 20 and 50% bigger than their R3 equivelants). These soon add up
|with the result that we frequently run out of swap space. It would be
|really nice if the size of these could be reduced somewhat. 

Have you tried either shared libraries, or the -n (shared code)
link option? The first works well of you run a mix of applications;
the latter works well if lots of people run the same (few)
applications.

-Miles

crouch@crunchie.axion.bt.co.uk (Chris Rouch) (07/23/90)

In article <3287@rsiatl.UUCP>, meo@rsiatl.UUCP (Miles ONeal) writes:
|> (Chris Rouch) writes:
|> 
|> |One of the major problems we've had since upgrading to X11R4 is the size
|> |of the applications.

|> Have you tried either shared libraries, or the -n (shared code)
|> link option? The first works well of you run a mix of applications;
|> the latter works well if lots of people run the same (few)
|> applications.
|> 
|> -Miles

Hmm. This may help on a mult-iuser system with X terminals hanging off
it, but on single-user workstations it's not going to make a lot of
difference. Or am I missing something?

Chris
-----------------------------------------------------------------------------
Chris Rouch                                             crouch@axion.bt.co.uk
RT3131, BTRL, Martlesham Heath, Ipswich, England.              +44 473 646093

Ours is not to look back, ours to continue the crack.

barmar@think.com (Barry Margolin) (07/24/90)

In article <1990Jul23.150058.3327@axion.bt.co.uk> CRouch@axion.bt.co.uk writes:
>In article <3287@rsiatl.UUCP>, meo@rsiatl.UUCP (Miles ONeal) writes:
>|> (Chris Rouch) writes:
>|> |One of the major problems we've had since upgrading to X11R4 is the size
>|> |of the applications.
>|> Have you tried either shared libraries, or the -n (shared code)
>|> link option?
>Hmm. This may help on a mult-iuser system with X terminals hanging off
>it, but on single-user workstations it's not going to make a lot of
>difference. Or am I missing something?

You're right if you're talking about the shared code option, but shared
libraries will help in the single-user workstation case.  Most X
applications use Xlib, and many use the same widget libraries.  When using
shared libraries there will only be one copy of each of these libraries in
the swap space.  And if the shared libraries also use dynamic linking then
there will only be one copy on disk as well.
--
Barry Margolin, Thinking Machines Corp.

barmar@think.com
{uunet,harvard}!think!barmar

schoeller@clt.enet.dec.com (Dick Schoeller) (07/24/90)

> |> |One of the major problems we've had since upgrading to X11R4 is the size
> |> |of the applications.
> 
> |> Have you tried either shared libraries, or the -n (shared code)

> Hmm. This may help on a mult-iuser system with X terminals hanging off
> it, but on single-user workstations it's not going to make a lot of
> difference. Or am I missing something?

Sure it will help.  If you are on a single-user workstation running a large
number of toolkit applications simultaneously, they can share the toolkit
library.  The same is true for all xlib applications (including toolkit
apps).

Dick Schoeller                  | schoeller@clt.enet.dec.com
Digital Equipment Corporation   | 603-881-2965
110 Spit Brook Rd., ZKO2-3/R56  | "Either Judaism has something to say to the
Nashua, NH 03062-2642           | world or it has nothing to say to Jews."
                                |                             - Dennis Prager

guy@auspex.auspex.com (Guy Harris) (07/25/90)

>Hmm. This may help on a mult-iuser system with X terminals hanging off
>it, but on single-user workstations it's not going to make a lot of
>difference. Or am I missing something?

Single-user workstations have, at times, been known to run multiple
different applications linked with the same library, or run multiple
instances of the same applications....

jf@ap.co.umist.ac.uk (John Forrest) (07/25/90)

In article <1990Jul23.150058.3327@axion.bt.co.uk>,
crouch@crunchie.axion.bt.co.uk (Chris Rouch) writes:
|> In article <3287@rsiatl.UUCP>, meo@rsiatl.UUCP (Miles ONeal) writes:
|> |> (Chris Rouch) writes:
|> |> 
|> |> |One of the major problems we've had since upgrading to X11R4 is the size
|> |> |of the applications.
|> 
|> |> Have you tried either shared libraries, or the -n (shared code)
|> |> link option? The first works well of you run a mix of applications;
|> |> the latter works well if lots of people run the same (few)
|> |> applications.
|> |> 
|> |> -Miles
|> 
|> Hmm. This may help on a mult-iuser system with X terminals hanging off
|> it, but on single-user workstations it's not going to make a lot of
|> difference. Or am I missing something?
|> 

Yes you are missing something. A typical Athena widget took (I imagine
the other toolkits are similar) will have about 300K of code which is
purely support code/Intrinsic (these are Apollo figures). You might have
10 or so of these tools running simultaneously (adding to run-time
memory usage) and many tools on the disk (adding to disk space). This
soon mounts up. If you use some form of shared libraries you only have,
in theory, one copy of the Intrinsic code, and if you arrange it so, of
those widgets that are commonly used. That is a bit idealised, since
there is an overhead of shared libraries. I don't know about the Sun
technique, but our Apollo inlib (shared library) is probably about twice
the size of the non-shared equivalent (mainly extra symbol table?).
However, it is still worth it. We have build the X tools directly for
Apollos, but quite frankly its not worth it unless you have 64M memory
and 1Gbyte disks per machine.

John Forrest,
Dept of Computation
UMIST.

PS. Those people who have been asking for instructions on how we built
XR4 with inlibs - at the beginning of next week I will try and package
the stuff up and post in on news.

crouch@crunchie.axion.bt.co.uk (Chris Rouch) (07/25/90)

In article <1463@shodha.dec.com>, schoeller@clt.enet.dec.com (Dick
Schoeller) writes:
|> > |> |One of the major problems we've had since upgrading to X11R4 is
the size
|> > |> |of the applications.
|> > 
|> > |> Have you tried either shared libraries, or the -n (shared code)
|> 
|> > Hmm. This may help on a mult-iuser system with X terminals hanging off
|> > it, but on single-user workstations it's not going to make a lot of
|> > difference. Or am I missing something?
|> 
|> Sure it will help.  If you are on a single-user workstation running a large
|> number of toolkit applications simultaneously, they can share the toolkit
|> library.  The same is true for all xlib applications (including toolkit
|> apps).
|> 

Sorry, I should have said how will the shared code option help (I
understand how using shared libraries will help). 


-----------------------------------------------------------------------------
Chris Rouch                                             crouch@axion.bt.co.uk
RT3131, BTRL, Martlesham Heath, Ipswich, England.              +44 473 646093

guy@auspex.auspex.com (Guy Harris) (07/27/90)

>Sorry, I should have said how will the shared code option help (I
>understand how using shared libraries will help). 

Imagine being really radical and running *two*, or maybe more,
"xterm"s....