Subject: SymCache performance
To: None <tech-toolchain@netbsd.org>
From: Charles Hannum <abuse@spamalicious.com>
List: tech-toolchain
Date: 09/06/2002 13:13:39
So I test the SymCache code a little, and made two observations:
* Although it does reduce many lookups that my `combreloc' code does
not currently, it did not actually make a measurable change in
mozilla's startup time. Perhaps it will win more with some other
applications.
* It actually makes David Laight's stupid-program test run slower for
me. With it disabled, I get:
mururoa# time /var/tmp/qd 999
1.15 real 0.42 user 0.71 sys
and with it enabled, I get:
mururoa# time /var/tmp/qd 999
1.34 real 0.44 user 0.88 sys
Simple arithmetic suggests that each process is taking a 190us hit
for the additional mmap()/munmap() calls.
Probably the SymCache can be elided in some cases -- certainly it
makes no sense to use it for ld.elf_so itself, because there are no
external references. However, I'm not sure offhand what the right
heuristic is (checking DT_SYMBOLIC doesn't seem likely, because
other things using DT_SYMBOLIC *do* have external references).