[PATCH] D19528: [ELF] - Implemented -z combrelocs/nocombreloc.

Rafael EspĂ­ndola via llvm-commits llvm-commits at lists.llvm.org
Fri May 6 12:43:49 PDT 2016


I will try running benchmarks on a few variations of this.

On 6 May 2016 at 07:38, George Rimar <grimar at accesssoftek.com> wrote:
> 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