[lld] r250808 - [ELF2] - Lazy relocation support for x86_64.

Rafael EspĂ­ndola via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 20 18:47:31 PDT 2015


A simple early test is to build clang shared and see how much time is
spent binding running "clang --help".

Cheers,
Rafael


On 20 October 2015 at 16:40, Rui Ueyama <ruiu at google.com> wrote:
> On Tue, Oct 20, 2015 at 1:36 PM, George Rimar <grimar at accesssoftek.com>
> wrote:
>>
>> >>That would be awesome. Please be careful about the detail conditions
>> >> because the symbol resolution performance is affected by various conditions
>> >> such as library search order, symbol name, etc. Probably the easiest way to
>> >> evaluate that is to use a real world program, such as Clang, as a benchmark.
>> >
>> >What about that synthetic case: 1 DSO with N generated functions and 1
>> > caller file with N * 2 calls to this different N functions.
>> >Comparing time of first N calls and second N calls we can know the time
>> > of N dynamic resolvings and time of clear N calls since PLT table will be
>> > filled with actual addresses after first N calls.
>> >
>> >That test may be good to measure the bare performance, but I guess that's
>> > synthetic. One of the big selling points of lazy binding is that it would
>> > reduce the number of symbol resolution because not all function are actually
>> > used.
>>
>> Ok. So as using clang do you mean to build something ? What about compare
>> time of self-hosting with and w/o lazy code then ?
>
>
> That I don't know. My wild guess is compiling something is too large as a
> task that that would hide the effect of lazy binding, but I'd have to try.


More information about the llvm-commits mailing list