benchmarking combreloc
Jack Howarth
howarth@nitro.msbb.uc.edu
Wed Oct 31 09:14:00 GMT 2001
Jakub,
Thanks for the suggestion on how to disable combreloc in glibc.
I built a glibc with combreloc disabled and got the following
results for the t1 tutorial on Debian ppc sid with and without prelinking...
unprelinked:
howarth@bogus:~/tutorial/t1$ LD_DEBUG=statistics ./t1.unprelinked
01338:
01338: runtime linker statistics:
01338: total startup time in dynamic loader: 17486340 clock cycles
01338: time needed for relocation: 13139203 clock cycles (75.1%)
01338: number of relocations: 32391
01338: number of relocations from cache: 0
01338: time needed to load objects: 567645 clock cycles (3.2%)
prelinked:
howarth@bogus:~/tutorial/t1$ LD_DEBUG=statistics ./t1.prelinked
01388:
01388: runtime linker statistics:
01388: total startup time in dynamic loader: 133180 clock cycles
01388: time needed for relocation: 57375 clock cycles (43.0%)
01388: number of relocations: 0
01388: number of relocations from cache: 2555
01388: time needed to load objects: 63798 clock cycles (47.9%)
which compares to the following with combreloc enabled in glibc....
unprelinked:
bogus:/home/howarth/tutorial/t1# LD_DEBUG=statistics ./t1.unprelinked
14355:
14355: runtime linker statistics:
14355: total startup time in dynamic loader: 1978861 clock cycles
14355: time needed for relocation: 1904007 clock cycles (96.2%)
14355: number of relocations: 9647
14355: number of relocations from cache: 22744
14355: time needed to load objects: 65247 clock cycles (3.2%)
prelinked:
bogus:/home/howarth/tutorial/t1# LD_DEBUG=statistics ./t1.prelinked
14356:
14356: runtime linker statistics:
14356: total startup time in dynamic loader: 135185 clock cycles
14356: time needed for relocation: 57254 clock cycles (42.3%)
14356: number of relocations: 0
14356: number of relocations from cache: 2555
14356: time needed to load objects: 67923 clock cycles (50.2%)
Thus combreloc reduces the total startup by 90%. Prelinking reduces the
total startup time an additional 95% on top of that. Thus the total load
time with both combreloc and prelinking is less than 1% of that with
neither feature. Interestingly the results without combreloc but with
prelinking are almost identical to that of combreloc and prelinking.
Jack
------------------------------------------------------------------------------
Jack W. Howarth, Ph.D. 231 Albert Sabin Way
NMR Facility Director Cincinnati, Ohio 45267-0524
Dept. of Molecular Genetics phone: (513) 558-4420
Univ. of Cincinnati College of Medicine fax: (513) 558-8474
More information about the Libc-alpha
mailing list