Speeding up the dynamic linker with 100s of DSOs?
Roland McGrath
roland@redhat.com
Sat Jan 7 02:02:00 GMT 2006
> Fair enough, though it seems similar LD_BIND_NOW, perhaps a bit more
> complicated. My current patch is a 50 lines touching the dynamic
> linker and 150 to implement the bloom filters. I'll just continue on
> my own and put the patch on code.google.com when I can.
If you want to contribute to the community, please post your patches here
(and of course be prepared to assign copyright).
> A broader takeaway is that the code for searching the ELF hash tables is
> pretty slow, if just putting a bloom filter in front of it sped things up
> so much. This affects everyone using DSOs, though perhaps not enough to
> notice. Not sure there's much room to fix it, though, since the hash
> table is part of the ELF spec and looks pretty reasonable.
The format is the format and extensions for speedups would need a pretty
compelling case. But contributions to optimize the code we have for the
format we have are of course welcome.
> As I said before, Michael had good luck just making the hash tables bigger.
This is under the control of the linker. I'm sure that linker changes to
do a better job choosing good table sizes would be welcome (but we here are
not the linker maintainers).
Thanks,
Roland
More information about the Libc-alpha
mailing list