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>