Rui Ueyama via llvm-dev
2016-Nov-17  01:26 UTC
[llvm-dev] LLD: time to enable --threads by default
Did you see this http://llvm.org/viewvc/llvm-project?view=revision&revision=287140 ? Interpreting these numbers may be tricky because of hyper threading, though. On Wed, Nov 16, 2016 at 5:15 PM, Joerg Sonnenberger via llvm-dev < llvm-dev at lists.llvm.org> wrote:> On Wed, Nov 16, 2016 at 12:44:46PM -0800, Rui Ueyama via llvm-dev wrote: > > I'm thinking to enable --threads by default. We now have real users, and > > they'll be happy about the performance boost. > > > > Any concerns? > > What is the total time consumped, not just the real time? When building > a large project, linking is often done in parallel with other tasks, so > wasting a lot of CPU to save a bit of real time is not necessarily a net > win. > > Joerg > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161116/451488e1/attachment.html>
Joerg Sonnenberger via llvm-dev
2016-Nov-17  02:13 UTC
[llvm-dev] LLD: time to enable --threads by default
On Wed, Nov 16, 2016 at 05:26:23PM -0800, Rui Ueyama wrote:> Did you see this > http://llvm.org/viewvc/llvm-project?view=revision&revision=287140 ? > Interpreting these numbers may be tricky because of hyper threading, though.Can you try that with a CPU set that explicitly doesn't include the HT cores? That's more likely to give a reasonable answer for "what is the thread overhead". Joerg
Rui Ueyama via llvm-dev
2016-Nov-17  03:20 UTC
[llvm-dev] LLD: time to enable --threads by default
Here is the result of running 20 threads on 20 physical cores (40 virtual
cores).
      19002.081139 task-clock (msec)         #    2.147 CPUs utilized
     ( +-  2.88% )
            23,006 context-switches          #    0.001 M/sec
     ( +-  2.24% )
             1,491 cpu-migrations            #    0.078 K/sec
     ( +- 22.50% )
         2,607,076 page-faults               #    0.137 M/sec
     ( +-  0.83% )
    56,818,049,785 cycles                    #    2.990 GHz
     ( +-  2.54% )
    41,072,435,357 stalled-cycles-frontend   #   72.29% frontend cycles
idle     ( +-  3.36% )
   <not supported> stalled-cycles-backend
    41,090,608,917 instructions              #    0.72  insns per cycle
                                             #    1.00  stalled cycles per
insn  ( +-  0.46% )
     7,621,825,115 branches                  #  401.105 M/sec
     ( +-  0.52% )
       139,383,452 branch-misses             #    1.83% of all branches
     ( +-  0.18% )
       8.848611242 seconds time elapsed
     ( +-  2.72% )
and this is the single-thread result.
      12738.416627 task-clock (msec)         #    1.000 CPUs utilized
     ( +-  5.04% )
             1,283 context-switches          #    0.101 K/sec
     ( +-  5.49% )
                 3 cpu-migrations            #    0.000 K/sec
     ( +- 55.20% )
         2,614,435 page-faults               #    0.205 M/sec
     ( +-  2.52% )
    41,732,843,312 cycles                    #    3.276 GHz
     ( +-  5.76% )
    26,816,171,736 stalled-cycles-frontend   #   64.26% frontend cycles
idle     ( +-  8.48% )
   <not supported> stalled-cycles-backend
    39,776,444,917 instructions              #    0.95  insns per cycle
                                             #    0.67  stalled cycles per
insn  ( +-  0.84% )
     7,288,624,141 branches                  #  572.177 M/sec
     ( +-  1.02% )
       135,684,171 branch-misses             #    1.86% of all branches
     ( +-  0.12% )
      12.734335840 seconds time elapsed
     ( +-  5.03% )
On Wed, Nov 16, 2016 at 6:13 PM, Joerg Sonnenberger via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> On Wed, Nov 16, 2016 at 05:26:23PM -0800, Rui Ueyama wrote:
> > Did you see this
> > http://llvm.org/viewvc/llvm-project?view=revision&revision=287140
?
> > Interpreting these numbers may be tricky because of hyper threading,
> though.
>
> Can you try that with a CPU set that explicitly doesn't include the HT
> cores? That's more likely to give a reasonable answer for "what is
the
> thread overhead".
>
> Joerg
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20161116/f0da2161/attachment.html>