[lld] r316305 - Remove a fast lookup table from MergeInputSection.

Rafael Avila de Espindola via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 31 07:01:27 PDT 2017


Would you mind reverting for now?

Cheers,
Rafael

Rui Ueyama <ruiu at google.com> writes:

> I will try to link Firefox with/without this change.
>
> On Mon, Oct 30, 2017 at 1:26 PM, Rafael Avila de Espindola <
> rafael.espindola at gmail.com> wrote:
>
>> Rui Ueyama via llvm-commits <llvm-commits at lists.llvm.org> writes:
>>
>> > Author: ruiu
>> > Date: Sun Oct 22 16:02:07 2017
>> > New Revision: 316305
>> >
>> > URL: http://llvm.org/viewvc/llvm-project?rev=316305&view=rev
>> > Log:
>> > Remove a fast lookup table from MergeInputSection.
>> >
>> > We used to have a map from section piece offsets to section pieces
>> > as a cache for binary search. But I found that the map took quite a
>> > large amount of memory and didn't make linking faster. So, in this
>> > patch, I removed the map.
>> >
>> > This patch saves 566 MiB of RAM (2.019 GiB -> 1.453 GiB) when linking
>> > clang with debug info, and the link time is 4% faster in that test case.
>>
>> I really cannot reproduce these results. I got no speedups and up to
>> 1.26 X slowdown on one testcase.
>>
>>
>> linux-kernel
>>   master 0.546992001
>>   patch  0.549968921 1.0054423465x slower
>> clang-gdb-index
>>   master 9.992913087
>>   patch  10.087697421 1.00948515545x slower
>> firefox-O0
>>   master 4.309384538
>>   patch  4.319022313 1.00223646206x slower
>> firefox
>>   master 7.34432128
>>   patch  8.732557725 1.18902174783x slower
>> firefox-gc
>>   master 7.597263246
>>   patch  8.982908786 1.18238745916x slower
>> chromium
>>   master 3.642106275
>>   patch  3.643732349 1.00044646528x slower
>> chromium fast
>>   master 2.124109064
>>   patch  2.130475186 1.00299707868x slower
>> the gold plugin
>>   master 0.369448142
>>   patch  0.375036623 1.0151265641x slower
>> clang
>>   master 0.641592855
>>   patch  0.648808956 1.01124716546x slower
>> llvm-as
>>   master 0.041228891
>>   patch  0.041646759 1.01013531991x slower
>> the gold plugin fsds
>>   master 0.406015859
>>   patch  0.410742062 1.01164043939x slower
>> clang fsds
>>   master 0.744126586
>>   patch  0.750361992 1.00837949633x slower
>> llvm-as fsds
>>   master 0.041222066
>>   patch  0.041647983 1.01033225749x slower
>> scylla
>>   master 3.127981483
>>   patch  3.964674056 1.26748642137x slower
>>
>>
>> Cheers,
>> Rafael
>>
>>


More information about the llvm-commits mailing list