[PATCH] D27152: Merge strings using sharded hash tables.
Rui Ueyama via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 5 23:22:52 PST 2016
The table is this.
# of cores Before After
1 13.462 15.795 +17.33%
2 9.766 10.046 +2.86%
4 7.697 7.228 -6.09%
8 6.888 5.672 -17.65%
12 7.073 5.848 -17.31%
16 7.066 5.746 -18.68%
20 6.846 5.482 -19.92%
On Mon, Dec 5, 2016 at 11:21 PM, Rui Ueyama via Phabricator <
reviews at reviews.llvm.org> wrote:
> ruiu updated this revision to Diff 80381.
> ruiu added a comment.
>
> I was about to commit https://reviews.llvm.org/D27155, but it turned out
> that the single-core
> performance of that change is too poor to check-in. So I want to submit
> this patch instead.
>
> This doesn't scale that much compared to https://reviews.llvm.org/D27155,
> but its single-core
> performance doesn't such as well. Here is clang link time in seconds.
> As you can see, it's performance is competitive if you have at least
> two cores. However, it doesn't scale more than 8 cores. (I guess the
> small improvements over 8 cores comes from other parts of the linker.)
>
> 1. of cores Before After 1 13.462 15.795 +17.33% 2 9.766
> 10.046 +2.86% 4 7.697 7.228 -6.09% 8 6.888 5.672
> -17.65% 12 7.073 5.848 -17.31% 16 7.066 5.746 -18.68% 20
> 6.846 5.482 -19.92%
>
> Linking clang-scale programs only with single core is very painful
> anyways, so I think this performance characteristics is okay.
>
>
> https://reviews.llvm.org/D27152
>
> Files:
> ELF/InputSection.h
> ELF/OutputSections.cpp
> ELF/OutputSections.h
> test/ELF/comment-gc.s
> test/ELF/compressed-debug-input.s
> test/ELF/debug-gc.s
> test/ELF/gc-sections-merge.s
> test/ELF/merge-string-align.s
> test/ELF/merge.s
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161205/620faf7f/attachment.html>
More information about the llvm-commits
mailing list