SIZETABLE The file SIZETABLE contains a single function SIZETABLE that prints a table of the storage occupied by in-core compiled functions. It provides a reasonably convenient way of answering the question ""What happened to all the space?" SIZETABLE is a function of 3 arguments: 1. A file specification (a single file name, a list of file names, or NIL -> FILELST) to indicate the functions of interest. If an element of a list of files is a list instead of a litatom, then it is interpreted as a list of functions. e.g. SIZETABLE(((FOO FIE))) will print the size information for those functions, no matter what file they belong to. 2. An output file name, on which the table will be printed 3. An optional title string to label the table. SIZETABLE will print a table listing for each file the functions it contains and the amount of array space they occupy. The storage is allocated into four columns according to whether the function is resident or swapped, byte compiled or pdp-10 compiled. The number of functions in each category, their total storage, and the average storage per function is printed out for each file, and for all files together. Finally, the total, number, and average statistics for byte and pdp-10 compiled are combined to permit a direct resident vs. swapped comparison. An additional column, labeled "Lits" is an estimate of the amount of resident storage occupied by the functions' literals. In the summary for each file and for the grand totals, the total literal space is combined with the total resident function space to give an estimate of the total resident storage required. Two asterisks are printed after these numbers to draw attention to them. Example: (SIZETABLE MYFILES 'MY.TABLE "Size analysis of MYFILES") would produce a size analysis on MY.TABLE for the functions on the files in MYFILES. ------- Notes: 1. The size counts do include the 2 words for the lisp array headers; they don't include the 1 word resident handle that goes along with every swapped definition 2. SIZETABLE.BCOM (or COM) may be loaded in any raw LISP. However, the symbolic file will not run and cannot be compiled unless PRINTOUT. and CHANGEFNS have been loaded. ----- Complaints and suggestions to Ron Kaplan