From owner-freebsd-arch Fri Nov 10 9:34:36 2000 Delivered-To: freebsd-arch@freebsd.org Received: from smtp02.primenet.com (smtp02.primenet.com [206.165.6.132]) by hub.freebsd.org (Postfix) with ESMTP id 2881437B479 for ; Fri, 10 Nov 2000 09:34:30 -0800 (PST) Received: (from daemon@localhost) by smtp02.primenet.com (8.9.3/8.9.3) id KAA23844; Fri, 10 Nov 2000 10:30:29 -0700 (MST) Received: from usr08.primenet.com(206.165.6.208) via SMTP by smtp02.primenet.com, id smtpdAAAkKaatU; Fri Nov 10 10:30:06 2000 Received: (from tlambert@localhost) by usr08.primenet.com (8.8.5/8.8.5) id KAA21973; Fri, 10 Nov 2000 10:33:56 -0700 (MST) From: Terry Lambert Message-Id: <200011101733.KAA21973@usr08.primenet.com> Subject: Re: The shared /bin and /sbin bikeshed To: dillon@earth.backplane.com (Matt Dillon) Date: Fri, 10 Nov 2000 17:33:56 +0000 (GMT) Cc: bright@wintelcom.net (Alfred Perlstein), arch@FreeBSD.ORG In-Reply-To: <200011100326.eAA3Q6015450@earth.backplane.com> from "Matt Dillon" at Nov 09, 2000 07:26:06 PM X-Mailer: ELM [version 2.5 PL2] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > Linking with a shared library eats memory at run time. It's that simple. > Shared libraries make life easier but they do *NOT* generally reduce > the run time in-core memory footprint of a machine. Dynamic executables > actually increase the number of dirty pages the system has to cope with, > at least for discretely-run programs, and they tend to force the entire > shared library into core. > > Its a wash for programs that fork since the library relocations have > already been done by the time you get to the fork, thus all the forked > copies share the original parent's dirty library relocation pages. I've often wondered why no one has bothered to do the necessary work to share relocation pages between instances of the same program, which are not the results of a fork. Actually, I think there was a project at the UofU at one time that supported this, but all the code was in C++, and at the time, the C++ technology on virtual base class construction made it pretty much of a loss. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message