<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p><br>
</p>
<div class="moz-cite-prefix">On 4/3/20 11:56 AM, Ehud Katz via
llvm-dev wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CALnD+Ro6an=drTsdZ-JqBQxX_ReSCF7CfKzskwZ8KxXK4JG=SA@mail.gmail.com">
<pre class="moz-quote-pre" wrap="">I'm in favor for this change.
I've also done some testing myself and noticed only about 1-2% increase of
memory, in exchange for about 1-3% increase of speed.
I can't say that a speedup of 3% (at most, and usually 1%), worth working
for, this is a simple change, that give a lot more than this; especially
simpler code path (also easier debugging).
As part of my measurements, while compiling "deal.II", the maximum number
of simultaneous `Use` instances was 2,728,963 (and in most cases, about
half of it).
In a 64-bit process (Clang for that matter), we will have roughly 21 MB of
memory spent on the extra pointer (of 8 bytes size).
On a 16-core machine, for which, in many cases, a build will trigger that
many simultaneous Clang processes, we will reach, in the worst case, 336 MB
more memory spent on compilation.
Is it worth it? I think it is. But I am not sure I see the whole picture -
are there low-memory systems that need to run LLVM on?
I am not sure what needs to be done to approve such a fundamental change;
especially when we can't prove the Waymarking was needed at all.</pre>
</blockquote>
<p>I guess if no-one brings forth arguments (= results) for keeping
it and</p>
<p>people continue to support replacing it, we will replace it.
There should</p>
<p>be a grace period in which people have the chance to do their
benchmarking</p>
<p> (basically what is happening), but I don't recall a problem
being reported yet.</p>
<p><br>
</p>
<p>Cheers,</p>
<p> Johannes</p>
<p><br>
</p>
<p>P.S. Thanks for sharing your findings!<br>
</p>
<p><br>
</p>
<blockquote type="cite"
cite="mid:CALnD+Ro6an=drTsdZ-JqBQxX_ReSCF7CfKzskwZ8KxXK4JG=SA@mail.gmail.com">
<pre class="moz-quote-pre" wrap="">
On Thu, Apr 2, 2020 at 8:10 PM Chris Lattner via llvm-dev <
<a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">On Apr 1, 2020, at 5:51 AM, <a class="moz-txt-link-abbreviated" href="mailto:Tyker1@outlook.com">Tyker1@outlook.com</a> via llvm-dev <
<a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:
Hi llvm-dev,
I have a patch open for review that removes waymarking
<a class="moz-txt-link-freetext" href="https://reviews.llvm.org/D77144">https://reviews.llvm.org/D77144</a>.
This patch removes waymarking and replaces it with storing a pointer to
the User in the Use.
when compiling the CTMark tests of the test suite, this give an average
of +1.8% max memory use and -1.1% compile time.
Removing Waymarking also simplifies the code of Use and User.
Waymarking is very complicated, and I’d be generally +1 on removing it if
it is not paying for itself. It is also nice to see compiler speedups!
I’m curious about kimwitu++ though - when waymarking initially landed, it
was a significant memory size win for that. Do you have any idea why
you’re not seeing the same difference? Is it possible that different
things were being measured back then?
-Chris
_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
</pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
</blockquote>
</body>
</html>