[comp.sys.sgi] Reducing the size of 4D executables

DMLAUR@pucc.Princeton.EDU (David M. Laur) (03/04/89)

As part of our graphics research activity, the Princeton Interactive
Computer Graphics Lab (ICGL) maintains a cluster of 16 Personal IRIS
workstations which is available to students and faculty 24 hours a
day. There are currently 675 users registered in our password file,
although not all of these are continuously active users.

One of the biggest system administration headaches we face is keeping
a useful amount of disk space available to the users (and ourselves).
This problem is exacerbated by the relatively larger size of programs
compiled for the 4D's RISC processor, compared to a typical CISC
executable.

In desparation, we read the documentation.

It turns out that there are some pretty painless mechanisms for
reducing the size of a typical 4D executable. Kevin Perry (our systems
programmer), recently compiled a moderate-size GL program with a
variety of different cc command-line options, and noted the sizes of
the resulting executables. Here are the results of this test:

Compilation Cmd             Executable Size

cc -g test.c -lgl:               330 Kb   (with symbol table, debugging)
cc    test.c -lgl:               330 Kb   (with symbol table)
cc -s test.c -lgl:               196 Kb   (strip symbol table)
cc -s test.c -lgl_s:              53 Kb   (use shared GL library)
cc -s test.c -lgl_s -lc_s:        33 Kb   (use shared GL and C libraries)
cc -s -O test.c -lgl_s -lc_s:     29 Kb   (use optimizer)

Note: The -g option is meaningless if combined with the -s option.

So: we have found it useful to advertise the use of some of these
options, and have changed our existing makefiles to take advantage of
them.


+---------------+   David Laur
| "a bizarre    |   Princeton University
|  underwater   |   Interactive Computer Graphics Lab
|  scenerio..." |   Internet: dmlaur@magritte.princeton.edu
+---------------+   Bitnet: dmlaur@pucc