[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 12:03:58 PDT 2017


Ping.

The more patches that lld accumulates the harder this is to revert. It
is a very significant regression, reverting it should be a priority.

Cheers,
Rafael

Rafael Avila de Espindola <rafael.espindola at gmail.com> writes:

> 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