MSDATABASESIZE This file is for use with SWAPHASH and swapped Masterscope data-bases. It is useful for setting things up to pre-allocate a swapped data base (rehashing in swapped data bases is very slow; pre-allocating them to the right size speeds up loading in data bases a lot). The simple way to use this package is as follows: in a system with a data base already loaded, load in MSDATABASESIZE.COM, and then do a MAKEFILE(DBINIT). This creates a file DBINIT which, when loaded, will pre-allocate a data base. The file MSDATABASESIZE contains a single function, MSDATABASESIZE, that determines the space occupied by the current database. The value of this function can be given to MSDATABASEINIT to pre-allocate that amount of space before loading the database into a new sysout. This avoids rehashing during load-up, and thus makes the loading of swapped databases much faster (since swapped re-hashing is relatively slow). MSDATABASESIZE takes an argument, FACTOR, by which all current array sizes will be multiplied (NIL -> 1.). This file also sets the variable DBINITCOMS such that a file dumped with those commands and loaded into a new sysout will cause that sysout's data bases to be swapped (the file SWAPHASH.COM will be loaded if it isn't already resident) and to be preallocated with a reasonable increase over the current database sizes (FACTOR is 1.25). Thus, in its most common use, you would simply load MSDATABASESIZE.COM into your sysout and do MAKEFILE(DBINIT). Then include the file DBINIT at the beginning of subsequent boot-strapping sequences. MSDATABASESIZE need not be present during re-loading, only when updating the size estimates. -- Larry Masinter and Ron Kaplan