Dynamic symbol table

Waldo Bastian bastian at kde.org
Fri Jul 16 12:40:02 CEST 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Friday 16 July 2004 12:09, Karl Vogel wrote:
> Oh that's right.. strace can also trace through fork.. forgot about that.
> Lol.. would probably have been more sensible to use strace than to hack my
> kernel to log open() calls.. but it also worked :-)
>
> What I was trying to figure out, is whether loading of binaries is having a
> negative effect on start time.
>
> One should be able to speed up the start time of binaries by putting the
> initial startup code together, which means it will most likely be together
> on disk also, which ultimately reduces I/O's.
>
> By (ab)using GCC's -fprofile-arcs & -fbranch-probabilities, it is possible
> to put the start code in a different ELF section than the rest of the code.
>
> The idea:
> * add option to kde exe to directly stop after KApplication() setup
> * compile exe with -O2 -fprofile-arcs
> * start kde exe with the new stop option
> * the profiled exe will dump stats to 'exename.da'
> * compile exe with -O2 -fbranch-probabilities
>
> => gcc will now have put the startup code in section 'text.hot' and the
> rest in 'text.unlikely'. So the startup code will be all together in the
> exe, meaning less head seeking, less I/O & faster load. (and afterwards a
> smaller RSS is needed to run the app)

Yes, I once did some function reordering based on first usage and that showed 
indeed some improvement, but I didn't manage to find a convenient way to do 
that on a larger scale.

Would be nice if someone could look into that. Just having a somewhat 
convenient to use tool to identify the hot code would already be a step 
forward.

Cheers,
Waldo
- -- 
bastian at kde.org  |   KDE Community World Summit 2004  |  bastian at suse.com
bastian at kde.org  | 21-29 August, Ludwigsburg, Germany |  bastian at suse.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQFA97CFN4pvrENfboIRAlQnAJsGd+sL6ZddYsyCbk/oe8cGZCWfWQCgoToL
uQglNxCx6ImRHv00knBG508=
=sRs9
-----END PGP SIGNATURE-----


More information about the Kde-optimize mailing list