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

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 30 13:49:09 PDT 2017


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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171030/7e308531/attachment.html>


More information about the llvm-commits mailing list