making use of --dynamic-list-cpp-typeinfo

Dirk Mueller mueller at kde.org
Tue Sep 19 17:11:29 CEST 2006


Hi, 

since about a week, the GNU binutils have gained support for reducing 
intra-shared lib relocation overhead. Via a special flag, you can ask the 
linker to resolve relocations any uninteresting or only a certain set of 
symbols always internally. This is a significant gain for C++, where you 
normally don't make use of LD_PRELOAD's that overwrite C++ mangled symbols. 

I've tested this against libqt3-3.3.6, and it reduces the symbol relocations 
by about 60%, reducing library footprint by about 8% and improving relocation 
startup time by far more than 50%. 

On a fully internally linked KDE 3.x system, I measured a relocation speedup 
of something between 20-40%. I've not done login time benchmarking. 

Below is a patch for KDE 3.x for further testing. 


Dirk

-------------- next part --------------
A non-text attachment was scrubbed...
Name: diff
Type: text/x-diff
Size: 1278 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-optimize/attachments/20060919/9acad79c/attachment.bin 


More information about the Kde-optimize mailing list