Re: Dynamic symbol table
Luciano Montanaro <[email protected]>
| Newsgroups | gmane.comp.kde.devel.optimize |
|---|---|
| Message-ID | <[email protected]> |
El 13:17, venerdì 16 luglio 2004, David Faure escribió: > On Friday 16 July 2004 13:03, Allan Sandfeld Jensen wrote: > > On Thursday 15 July 2004 23:09, Karl Vogel wrote: > > > > > > KDE Startup time however isn't reduced.. still 18 seconds for a cold boot.. > > > while only 5 seconds for a warm start :-( > > > > I think you need so remove 10000s of symbols to get an improvement you can > > measure. Going from 233 to 1 is waste of your time. > > ls -l $KDEDIR/lib/kde3/*.so | wc -l > 657 > > There are 657 plugins in my KDE installation. If all of those can be stripped > from their symbols, the improvement might start being noticeable :) > It should not be too hard to enable it for kde plugins: I tired this change in my admin/acinclude.m4.in < KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_NO_UNDEFINED) \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)" --- > KDE_PLUGIN="-Wl,--version-script=\$(top_srcdir)/admin/plugin.map -avoid-version -module -no-undefined \$(KDE_NO_UNDEFINED) \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)" with the simple version script shown by karl (with the addition of the global symbol kdemain and init), and the version script was applied automatically everywhere $(KDE_PLUGIN) was specified. Sadly, most of the kcontrol modules do not use it. I tried adding it to the kcm_background module, for a saving of ~40K. A bit of grepping for -module in the Makefile.am files would provide the list of files to check. I'm willing to do that, if there is some interest. The KDE_PLUGIN macro should contain the version script only if it is supported, however. Luciano