[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