Date: Sat, 5 May 2001 17:40:40 -0700 From: Kris Kennaway <kris@obsecurity.org> To: John Polstra <jdp@FreeBSD.org> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/libexec/rtld-elf rtld.c rtld.h src/libexec/rtld-elf/alpha reloc.c src/libexec/rtld-elf/i386 reloc.c Message-ID: <20010505174040.A33884@xor.obsecurity.org> In-Reply-To: <200105052321.f45NL5Z24754@freefall.freebsd.org>; from jdp@FreeBSD.org on Sat, May 05, 2001 at 04:21:05PM -0700 References: <200105052321.f45NL5Z24754@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--r5Pyd7+fXNt84Ff3 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, May 05, 2001 at 04:21:05PM -0700, John Polstra wrote: > jdp 2001/05/05 16:21:05 PDT >=20 > Modified files: > libexec/rtld-elf rtld.c rtld.h=20 > libexec/rtld-elf/alpha reloc.c=20 > libexec/rtld-elf/i386 reloc.c=20 > Log: > Performance improvements for the ELF dynamic linker. These > particularly help programs which load many shared libraries with > a lot of relocations. Large C++ programs such as are found in KDE > are a prime example. > =20 > While relocating a shared object, maintain a vector of symbols > which have already been looked up, directly indexed by symbol > number. Typically, symbols which are referenced by a relocation > entry are referenced by many of them. This is the same optimization > I made to the a.out dynamic linker in 1995 (rtld.c revision 1.30). > =20 > Also, compare the first character of a sought-after symbol with its > symbol table entry before calling strcmp(). > =20 > On a PII/400 these changes reduce the start-up time of a typical > KDE program from 833 msec (elapsed) to 370 msec. Hey, nice work! Kris --r5Pyd7+fXNt84Ff3 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.5 (FreeBSD) Comment: For info see http://www.gnupg.org iD8DBQE69J2IWry0BWjoQKURAjHCAKD1snGZq3RVHgh4RlsZrXpH6kqx6gCeNJtX vA4IzsfXv/TzCKBel8umvlY= =+WKk -----END PGP SIGNATURE----- --r5Pyd7+fXNt84Ff3-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010505174040.A33884>