This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: ld.so optimizations
- From: Mike Hearn <mike at navi dot cx>
- To: libc-alpha at sources dot redhat dot com
- Date: Sun, 13 Feb 2005 01:00:38 +0000
- Subject: Re: ld.so optimizations
- References: <20050213003355.GA28015@rap.rap.dk>
On Sun, 13 Feb 2005 01:33:55 +0100, Keld Jørn Simonsen wrote:
> My issue is that I was annoyed with the time it takes to load
> openoffice.org. On my laptop it takes about 23 secs at the initial load.
The problems with OpenOffice are well understood: essentially there are
just too many symbols in too many libraries. It's made worse by the design
of the ELF ABI which results in poor fixup performance for huge numbers of
symbols (relative to say, win32).
Unfortunately prelink doesn't seem to work very well on this, probably
because all the libraries are dlopened thanks to their UNO component
system.
Some experiments were done with the new RTLD_DEEPBIND flag which should
have restricted the symbol scope so improving performance, but
unfortunately it's apparently incompatible with the way OpenOffice uses
C++ exceptions.
I think they will just have to eliminate the use of so many DSOs to
improve startup performance further (plus there are plenty of other areas
they can improve on, like not hauling so much damn code into memory in the
first place).
thanks -mike