<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, May 31, 2017 at 7:48 AM, Reid Kleckner <span dir="ltr"><<a href="mailto:rnk@google.com" target="_blank">rnk@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I think adding an option to cmake is fine, but it should definitely be off by default in release builds.</div></blockquote><div><br></div><div>Why?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"> If we make STATISTIC useful, then people will eventually put it on some hot path, and that will kill multi-threaded performance for users like ThinLTO, because multiple threads doing read-modify-write on the same memory is just slow.</div></blockquote><div><br></div><div>With no offense meant: Can we please be driven by data? </div><div>This argument is "people will eventually do something silly and it will make things slow for others". That is something that can be said about just about anything in LLVM :).  This is why we have code review, etc.</div><div>If your concern is the atomic increments, then is there a reason to not have it do the counting as a runtime option instead of a compile time one?</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"> </div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Wed, May 31, 2017 at 7:39 AM, Daniel Berlin via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">Right now, the LLVM Statistic class does not increment values if we are in non-debug mode, unless you define LLVM_ENABLE_STATS (which, sadly, is also not available from cmake).<div><br></div><div>Before i go and add it to cmake, i ran numbers.</div><div><br></div><div>I can't find a single testcase, large or small, where enabling statistics all the time isn't completely noise.</div><div><br></div><div>It looks like it was disabled in march  2013.</div><div><a href="https://reviews.llvm.org/D486" target="_blank">https://reviews.llvm.org/D486</a><br></div><div><br></div><div>The only discussion i can find in the same time period is around fastisel using a lot of per-instruction stats, and it causing some slow-down.</div><div><br></div><div>However, I can't find any actual data/testcases in this discussion at all, and disabling stats globally is actually fairly annoying for performance work.</div><div>:(</div><div><br></div><div>Does anyone have any testcases where it is actually slow that i can look at?<br><br></div></div>
<br></div></div><span class="">______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">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></span></blockquote></div><br></div>
</blockquote></div><br></div></div>