[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