From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 28 21:20:18 2011 Return-Path: Delivered-To: freebsd-hackers@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EFBEA106564A for ; Mon, 28 Mar 2011 21:20:18 +0000 (UTC) (envelope-from peterjeremy@acm.org) Received: from mail34.syd.optusnet.com.au (mail34.syd.optusnet.com.au [211.29.133.218]) by mx1.freebsd.org (Postfix) with ESMTP id 728028FC0C for ; Mon, 28 Mar 2011 21:20:18 +0000 (UTC) Received: from server.vk2pj.dyndns.org (c220-239-116-103.belrs4.nsw.optusnet.com.au [220.239.116.103]) by mail34.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id p2SLKFT5017177 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 29 Mar 2011 08:20:16 +1100 X-Bogosity: Ham, spamicity=0.000000 Received: from server.vk2pj.dyndns.org (localhost.vk2pj.dyndns.org [127.0.0.1]) by server.vk2pj.dyndns.org (8.14.4/8.14.4) with ESMTP id p2SLKFdI048251; Tue, 29 Mar 2011 08:20:15 +1100 (EST) (envelope-from peter@server.vk2pj.dyndns.org) Received: (from peter@localhost) by server.vk2pj.dyndns.org (8.14.4/8.14.4/Submit) id p2SLKFmU048250; Tue, 29 Mar 2011 08:20:15 +1100 (EST) (envelope-from peter) Date: Tue, 29 Mar 2011 08:20:14 +1100 From: Peter Jeremy To: Jesse Smith Message-ID: <20110328212014.GC27123@server.vk2pj.dyndns.org> References: <1301189037.4069.43.camel@hp-laptop> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="xesSdrSSBC0PokLI" Content-Disposition: inline In-Reply-To: X-PGP-Key: http://members.optusnet.com.au/peterjeremy/pubkey.asc User-Agent: Mutt/1.5.21 (2010-09-15) Cc: freebsd-hackers@FreeBSD.org Subject: Re: Prebind from OpenBSD X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Mar 2011 21:20:19 -0000 --xesSdrSSBC0PokLI Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 2011-Mar-27 20:54:18 +0100, Robert Watson wrote: >part of rc.d. I'd also investigate large applications like Firefox, Chrom= e,=20 >KDE, Gnome, etc. KDE already integrates prebinding tricks in its design, = but=20 >I don't think the others do. Improving startup time for large, infrequently started executables will enhance the user experience but not do a great deal for overall system performance. (And note that things like OOo, emacs and browsers have significant amounts of code in embedded scripting languages and it's unlikely that pre-binding will help much there). I suspect a bigger overall win would be gained by speeding up small but very frequently started executables - /bin/sh is the most obvious candidate here, though there are probably other candidates in /bin and /usr/bin. In this case, you need to measure how frequenctly it is started as well as the per-startup savings. For some of these executables, it's easy to get a reasonably accurate estimate of the potential pre-binding savings by comparing the speed of the existing dynamically-linked executable in /bin with the same statically-linked executable in /rescue. One thing that I'm not sure if you've take into account is process- initiated library loading (using dlopen(3) and friends). Note that even /bin/sh can do this through things like locale handling. --=20 Peter Jeremy --xesSdrSSBC0PokLI Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (FreeBSD) iEYEARECAAYFAk2Q+44ACgkQ/opHv/APuIfTvQCfQ7knXhEpQXzSSwG//jTYAOOn z4sAn2F5v0/7ZVYpcAfIkMI/6JgG92FC =gMJo -----END PGP SIGNATURE----- --xesSdrSSBC0PokLI--