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