66a962ce67
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 |
||
---|---|---|
.. | ||
atrun | ||
bootpd | ||
comsat | ||
fingerd | ||
ftpd | ||
getNAME | ||
getty | ||
mail.local | ||
makekey | ||
mknetid | ||
named-xfer | ||
pppoed | ||
rbootd | ||
revnetgroup | ||
rexecd | ||
rlogind | ||
rpc.rquotad | ||
rpc.rstatd | ||
rpc.rusersd | ||
rpc.rwalld | ||
rpc.sprayd | ||
rshd | ||
rtld-aout | ||
rtld-elf | ||
save-entropy | ||
smrsh | ||
talkd | ||
telnetd | ||
tftpd | ||
uucpd | ||
xtend | ||
ypxfr | ||
Makefile | ||
Makefile.inc |