<div dir="ltr"><div><div><div><div><div><div>Hello Rafael,<br><br></div>> It seems the produced lld binary is not being statically linked.<br><br></div>Hm. It should. But it seems couple config params are missing. Fixed. Thanks for catching this!<br><br>> Is lld-speed-test in a tmpfs?<br><br></div>Correct.<br>All the benchmarking tips from <a href="https://www.llvm.org/docs/Benchmarking.html" rel="noreferrer" target="_blank">https://www.llvm.org/docs/Benc<wbr>hmarking.html</a> have been applied to that bot.<br><br>> Is lld-benchmark.py a copy of lld/utils/benchmark.py?<br><br></div>Correct. Modulo few local changes for more verbose printing to be "bot" friendly. Didn't decided yet if this is something we want in lld/utils/benchmark.py.<br><br></div>Thanks<br><br></div>Galina<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 22, 2018 at 1:56 PM, Rafael Avila de Espindola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks a lot for setting this up!<br>
<br>
By using the "mean as aggregation" option one can see the noise in the<br>
results better:<br>
<br>
<a href="http://lnt.llvm.org/db_default/v4/link/graph?switch_min_mean=yes&moving_window_size=10&plot.9=1.9.7&submit=Update" rel="noreferrer" target="_blank">http://lnt.llvm.org/db_<wbr>default/v4/link/graph?switch_<wbr>min_mean=yes&moving_window_<wbr>size=10&plot.9=1.9.7&submit=<wbr>Update</a><br>
<br>
There are a few benchmarknig tips in <a href="https://www.llvm.org/docs/Benchmarking.html" rel="noreferrer" target="_blank">https://www.llvm.org/docs/<wbr>Benchmarking.html</a>.<br>
<br>
For example, from looking at<br>
<br>
<a href="http://lab.llvm.org:8011/builders/lld-perf-testsuite/builds/285/steps/cmake-configure/logs/stdio" rel="noreferrer" target="_blank">http://lab.llvm.org:8011/<wbr>builders/lld-perf-testsuite/<wbr>builds/285/steps/cmake-<wbr>configure/logs/stdio</a><br>
<br>
It seems the produced lld binary is not being statically linked.<br>
<br>
A tip to make the bot a bit faster is that it could run "ninja bin/lld"<br>
instead of just "ninja":<br>
<br>
<a href="http://lab.llvm.org:8011/builders/lld-perf-testsuite/builds/285/steps/build-unified-tree/logs/stdio" rel="noreferrer" target="_blank">http://lab.llvm.org:8011/<wbr>builders/lld-perf-testsuite/<wbr>builds/285/steps/build-<wbr>unified-tree/logs/stdio</a><br>
<br>
Is lld-speed-test in a tmpfs?<br>
<br>
Is lld-benchmark.py a copy of lld/utils/benchmark.py?<br>
<br>
Thanks,<br>
Rafael<br>
<div class="HOEnZb"><div class="h5"><br>
Galina Kistanova via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> writes:<br>
<br>
> Hello George,<br>
><br>
> Sorry, somehow hit a send button too soon. Please ignore the previous<br>
> e-mail.<br>
><br>
> The bot does 10 runs for each of the benchmarks (those dots in the logs are<br>
> meaningful). We can increase the number of runs if proven that this would<br>
> significantly increase the accuracy. I didn't see the increase in accuracy when<br>
> have been staging the bot, which would justify the extra time and larger<br>
> gaps between the tested revisions.  10 runs seems give a good balance. But<br>
> I'm open for suggestions.<br>
><br>
> It seems the statistics are quite stable if you would look over number of<br>
> revisions.<br>
> And in this particular case the picture seems quite clear.<br>
><br>
> At <a href="http://lnt.llvm.org/db_default/v4/link/104" rel="noreferrer" target="_blank">http://lnt.llvm.org/db_<wbr>default/v4/link/104</a>, the list of Performance<br>
> Regressions suggests that the most hit was with the linux-kernel. The<br>
> regressed metrics - branches, branch-misses, instructions,<br>
> cycles, seconds-elapsed, task-clock. Some other benchmarks shows<br>
> regressions in branches and branch-misses, some shows improvements.<br>
><br>
> The metrics are consistent before and after the commit, so, I do not think<br>
> this one is an outliner.<br>
> For example, if one would take a look at the linux-kernel branches -<br>
> <a href="http://lnt.llvm.org/db_default/v4/link/graph?plot.0=1.12.2&highlight_run=104" rel="noreferrer" target="_blank">http://lnt.llvm.org/db_<wbr>default/v4/link/graph?plot.0=<wbr>1.12.2&highlight_run=104</a>,<br>
> it gets obvious that the number of branches increased significantly as a<br>
> result of the r325313. The metric is very stable around the impacted commit<br>
> and does not go down after. The  branch-misses is more volatile, but still<br>
> consistently shows the regression as the result of this commit.<br>
><br>
> Now someone should see why this particular commit has resulted in<br>
> significant increase of branching with the Linux Kernel.<br>
><br>
> As of how to use LNT web UI, I'm sure you have checked that, but, just in<br>
> case, here is the link to the LNT doc - <a href="http://llvm.org/docs/lnt/con" rel="noreferrer" target="_blank">http://llvm.org/docs/lnt/con</a><br>
> tents.html.<br>
><br>
>> task-clock results are available for "linux-kernel" and "llvm-as-fsds"<br>
> only and all other<br>
>> tests has blank field. Should it mean there was no noticable difference<br>
> in results ?<br>
><br>
> If you would go to <a href="http://lnt.llvm.org/db_default/v4/link/104#task-clock" rel="noreferrer" target="_blank">http://lnt.llvm.org/db_<wbr>default/v4/link/104#task-clock</a><br>
> (or go to  <a href="http://lnt.llvm.org/db_default/v4/link/104" rel="noreferrer" target="_blank">http://lnt.llvm.org/db_<wbr>default/v4/link/104</a> and select the task-clock<br>
> on the left, which is the same), you would see the list of actual values in<br>
> the "Current" column. All of them populated, none is blank. The column "%"<br>
> contains the difference from the previous run in percents, or dash for no<br>
> measured difference.<br>
><br>
>>  Also, "Graph" and "Matrix" buttons whatever they should do show errors<br>
> atm.<br>
><br>
> I guess you didn't select what to graph or what to show as a matrix, did<br>
> you?<br>
><br>
> Besides reporting to the <a href="http://lnt.llvm.org" rel="noreferrer" target="_blank">lnt.llvm.org</a>, each build contains in the log all<br>
> the reported data, so you could process it whatever you want and find<br>
> helpful.<br>
><br>
> Hope this helps.<br>
><br>
> Thanks<br>
><br>
> Galina<br>
><br>
><br>
> On Fri, Feb 16, 2018 at 1:55 AM, George Rimar via llvm-dev <<br>
> <a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br>
><br>
>> >Hello everyone,<br>
>> ><br>
>> >I have added a new public LLD performance builder at<br>
>> ><a href="http://lab.llvm.org:8011/builders/lld-perf-testsuite" rel="noreferrer" target="_blank">http://lab.llvm.org:8011/<wbr>builders/lld-perf-testsuite</a>.<br>
>> >It builds LLVM and LLD by the latest releaed Clang and runs a set of<br>
>> >perfromance tests.<br>
>> ><br>
>> >The builder is reliable. Please pay attention on the failures.<br>
>> ><br>
>> >The performance statistics are here:<br>
>> ><a href="http://lnt.llvm.org/db_default/v4/link/recent_activity" rel="noreferrer" target="_blank">http://lnt.llvm.org/db_<wbr>default/v4/link/recent_<wbr>activity</a><br>
>> ><br>
>> >Thanks<br>
>> ><br>
>> >Galina<br>
>><br>
>> Great news, thanks !<br>
>><br>
>> Looking on results I am not sure how to explain them though.<br>
>><br>
>> For example r325313 fixes "use after free", it should not give any<br>
>> performance<br>
>> slowdowns or boosts. Though if I read results right, they show 23.65%<br>
>> slowdown<br>
>> for time of linking linux kernel (<a href="http://lnt.llvm.org/db_" rel="noreferrer" target="_blank">http://lnt.llvm.org/db_</a><br>
>> default/v4/link/104).<br>
>><br>
>> I guess such variation can happen for example if bot do only single link<br>
>> iteration for tests,<br>
>> so that final time is just a error mostly probably.<br>
>><br>
>> task-clock results are available for "linux-kernel" and "llvm-as-fsds"<br>
>> only and all other<br>
>> tests has blank field. Should it mean there was no noticable difference in<br>
>> results ?<br>
>><br>
>> Also, "Graph" and "Matrix" buttons whatever they should do show errors atm.<br>
>> ("Nothing to graph." and "Not Found: Request requires some data<br>
>> arguments.").<br>
>><br>
>> Best regards,<br>
>> George | Developer | Access Softek, Inc<br>
>> ______________________________<wbr>_________________<br>
>> LLVM Developers mailing list<br>
>> <a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
>><br>
> ______________________________<wbr>_________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
</div></div></blockquote></div><br></div>