[PATCH] D19528: [ELF] - Implemented -z combrelocs/nocombreloc.
George Rimar via llvm-commits
llvm-commits at lists.llvm.org
Fri May 6 04:38:17 PDT 2016
grimar added a comment.
In http://reviews.llvm.org/D19528#422386, @rafael wrote:
> Please do simplify the patch to first not set any new DT_ and sort only by offset. Lets benchmark just that first.
I did that (simplified version I used is here: http://reviews.llvm.org/D20013) and got no any perfomance boost after that at all
(or very minor what I believe is just a computing error):
Middle from 5 runs is shown.
Without patch:
umb at ubuntu:~/umb/LLVM/self-hosting/bin$ LD_DEBUG=statistics ./clang
46693:
46693: runtime linker statistics:
46693: total startup time in dynamic loader: 193739180 cycles
46693: time needed for relocation: 166734504 cycles (86.0%)
46693: number of relocations: 27736
46693: number of relocations from cache: 2247
46693: number of relative relocations: 2020
46693: time needed to load objects: 24664951 cycles (12.7%)
clang-3.9: error: no input files
46693:
46693: runtime linker statistics:
46693: final number of relocations: 28487
46693: final number of relocations from cache: 2247
With patch (no tag, sort by offset).
umb at ubuntu:~/umb/LLVM/selfhost-reduced/bin$ LD_DEBUG=statistics ./clang
46666:
46666: runtime linker statistics:
46666: total startup time in dynamic loader: 188386979 cycles
46666: time needed for relocation: 161439636 cycles (85.6%)
46666: number of relocations: 27736
46666: number of relocations from cache: 2247
46666: number of relative relocations: 2020
46666: time needed to load objects: 24821139 cycles (13.1%)
clang-3.9: error: no input files
46666:
46666: runtime linker statistics:
46666: final number of relocations: 28487
46666: final number of relocations from cache: 2247
I think results are expected as symbols are not grouped together, what
looks to be the main condition for optimization to work.
http://reviews.llvm.org/D19528
More information about the llvm-commits
mailing list