prelink: is it worth it?

Caolán McNamara caolanm at redhat.com
Thu Jul 9 22:23:32 UTC 2009


On Thu, 2009-07-09 at 17:06 +0200, Jakub Jelinek wrote:

> LD_DEBUG=statistics /usr/lib64/openoffice.org3/program/swriter.bin
>      11799:	
>      11799:	runtime linker statistics:
>      11799:	  total startup time in dynamic loader: 18632372 clock cycles
>      11799:	            time needed for relocation: 2975643 clock cycles (15.9%)
>      11799:	                 number of relocations: 0
>      11799:	      number of relocations from cache: 1527
>      11799:	        number of relative relocations: 0
>      11799:	           time needed to load objects: 13190177 clock cycles (70.7%)
> LD_USE_LOAD_BIAS=0 LD_DEBUG=statistics /usr/lib64/openoffice.org3/program/swriter.bin
>      11817:	
>      11817:	runtime linker statistics:
>      11817:	  total startup time in dynamic loader: 145813250 clock cycles
>      11817:	            time needed for relocation: 129375884 clock cycles (88.7%)
>      11817:	                 number of relocations: 42207
>      11817:	      number of relocations from cache: 126013
>      11817:	        number of relative relocations: 149959
>      11817:	           time needed to load objects: 15248893 clock cycles (10.4%)
> The former is how long it takes before swriter.bin starts up when prelinked,
> the latter tells it not to use prelink information and do normal relocation.

Indeed, and Fedora OOo has a "prelink-friendly" set of launchers that
explicitly link against the dsos that OOo will definitely dlopen on the
various appropriate launch paths, and it's reassuring to see smaller
numbers spat out at the end, but do we have actual numbers that measure
the real-world difference it makes, or even a reliable mechanism that
can be used to reproducibly and consistently measure the real-world
difference that *any* given change makes.

e.g. I've been totally unable to consistently measure a difference
between compiling OOo with -fstrict-aliasing and the current
-fno-strict-aliasing. And any other number of other proposed
optimizations are massively difficult to measure reliably.

C.




More information about the fedora-devel-list mailing list