freebsd-dev/libexec
John Polstra c15e7faad5 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.

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).

Also, compare the first character of a sought-after symbol with its
symbol table entry before calling strcmp().

On a PII/400 these changes reduce the start-up time of a typical
KDE program from 833 msec (elapsed) to 370 msec.

MFC after:	5 days
2001-05-05 23:21:05 +00:00
..
atrun - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
bootpd - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
comsat - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
fingerd - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
ftpd Cleaner method of making PAMable apps static (in the optional case of 2001-04-28 15:18:10 +00:00
getNAME mdoc(7) police: uppercase document title. 2001-04-18 08:25:26 +00:00
getty Replace a strcat() with a strlcat(). Partial sync with OpenBSD; more 2001-04-24 10:33:46 +00:00
mail.local - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
makekey - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
mknetid - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
named-xfer - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
pppoed - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
rbootd - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
revnetgroup - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
rexecd Avoid a warning by making a variable a const char *. 2001-05-01 10:35:20 +00:00
rlogind - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
rpc.rquotad - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
rpc.rstatd - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
rpc.rusersd - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
rpc.rwalld - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
rpc.sprayd - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
rshd Replacement of the old error() routine with errx(3) was premature. 2001-04-29 17:50:29 +00:00
rtld-aout - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
rtld-elf Performance improvements for the ELF dynamic linker. These 2001-05-05 23:21:05 +00:00
save-entropy beforeinstall -> SCRIPTS. 2001-04-07 11:21:35 +00:00
smrsh - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
talkd - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
telnetd Bye-bye /usr/lib/libtelnet.a. This should fix ``make release'' brokeness. 2001-03-28 12:08:22 +00:00
tftpd mdoc(7) police: normalize .Nd. 2001-04-18 15:54:10 +00:00
uucpd - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
xtend - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
ypxfr - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00
Makefile Do not build (and install) both secure/ and standard versions 2001-03-26 12:49:05 +00:00
Makefile.inc - Backout botched attempt to intoduce MANSECT feature. 2001-03-26 14:22:12 +00:00