[PATCH] D18042: Create a SymbolBody for locals
Rui Ueyama via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 10 19:12:13 PST 2016
ruiu added a comment.
LGTM
I build three more programs with and without the series of patches for local symbols (and in addition to that with GNU gold) and observed that the patch series improved performance in all three cases.
Time is in milliseconds.
Clang (RelWithDebugInfo)
w/o patch 13730
w/patch 13224
gold 15795
Clang (RelWithDebugInfo without -f{function,data}-sections)
w/o patch 13300
w/patch 12790
gold 15185
gold in binutils 2.26
w/o patch 542
w/patch 501
gold 726
(The gap between our linker and gold is getting narrower, but that's not a topic of this patch.)
It cannot describe why there is a case that this patch had a negative impact on performance, but I confirmed that the your test result is correct using the archive file you sent to me. So there must be some hidden condition that this approach is not very good at it. But broadly speaking this seems a good one. This makes things much simpler and seems to improve performance in general.
I hoped you did not change the signature of getSymbol in this patch because that change made this patch a lot larger. You could have done that in a different patch. However, since I have already reviewed all the changes, this overall looks good to me.
http://reviews.llvm.org/D18042
More information about the llvm-commits
mailing list