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