Combining compiled code from multiple files to a single binary file allows the compiler to add a high level of optimization.
When producing standard, non-optimized binary code, the Visual LISP compiler preserves the symbol names associated with functions and global variables, because these symbols may be referenced from other files. When the symbol is referenced, Visual LISP looks in a table to determine what area in memory is assigned to the symbol.
When optimizing code, the Visual LISP compiler assumes all files in a project work together to form a complete application. This allows the compiler to discard the symbol names and, when executing the code, jump directly to the memory location containing the value associated with the symbol.