Subject: Re: Help required on Limitations of Lisp
From: rpw3@rigden.engr.sgi.com (Rob Warnock)
Date: 1997/11/16
Newsgroups: comp.lang.lisp
Message-ID: <64lrao$15ttl@fido.asd.sgi.com>

Martin Rodgers wrote:
+---------------
| Of course dynamic linking uses large amounts of memory, as DLLs tend
| to have the same base load address, so the code will need to be relocated
| at load time.
+---------------

Just a note that for many years on Unixes such as SGI's Irix (and others,
I presume) there's been the notion of "quickstarting" a collections of DSOs
(a.k.a. DLLs), meaning that they're rewritten (either at build time or later,
when a "re-quickstart" program is run) so their addresses don't conflict.
This allows them to be linked into a process's address space without the
overhead of relocating anything at run time. [If a quickstart failure is
detected, then "rld" silently does the needed relocations the hard way.]

Installed applications known to the system (how they're "known" varies
by OS, but usually it's taken care of for any "installed product") will
automatically be re-quickstarted when new versions of DSOs (DLLs) are
installed.

This has proved so effective (on those OSs that provide it) that almost
nothing is statically linked any more.


-Rob

p.s. Try "man rqs" or "man rqsall" to see if it exists on your system.

-----
Rob Warnock, 7L-551		rpw3@sgi.com   http://reality.sgi.com/rpw3/
Silicon Graphics, Inc.		Phone: 650-933-1673 [New area code!]
2011 N. Shoreline Blvd.		FAX: 650-933-4392
Mountain View, CA  94043	PP-ASEL-IA