<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Aug 8, 2020, at 3:32 PM, Dmitry Mikushin via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Cool, thanks! <br class=""></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">вс, 9 авг. 2020 г. в 00:27, Petr Hosek <<a href="mailto:phosek@chromium.org" class="">phosek@chromium.org</a>>:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class=""><div dir="ltr" class="">You can set the LLVM_PARALLEL_LINK_JOBS CMake variable to restrict the number of link jobs.</div></div></blockquote></div></div></blockquote><div>IMO, a more thorough solution would be switching to LLD (the gold linker might work few years ago, but now even gold will take me nearly 16GB of RAM), usually LLD won’t take you more than 4GB</div><div><br class=""></div>-Min<br class=""><blockquote type="cite" class=""><div class=""><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class=""><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Aug 8, 2020 at 3:00 PM Neil Nelson via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div class=""><p class=""><font size="-1" class=""><a href="https://ninja-build.org/manual.html" target="_blank" class="">https://ninja-build.org/manual.html</a></font></p>
    <blockquote class=""><p class=""><font size="-1" class=""><code class="">ninja -h</code> prints
          help output. Many of Ninja’s flags intentionally
          match those of Make; e.g <code class="">ninja -C build
            -j 20</code> changes into the
          <code class="">build</code> directory and runs 20 build
          commands in parallel.</font></p>
    </blockquote><p class=""><font size="-1" class="">Neil Nelson<br class="">
      </font></p>
    <div class=""><font size="-1" class="">On 8/8/20 3:41 PM,
        David Blaikie via llvm-dev wrote:</font><br class="">
    </div>
    <blockquote type="cite" class="">
      <pre class="">On Sat, Aug 8, 2020 at 2:22 PM Dmitry Mikushin via llvm-dev
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class=""><llvm-dev@lists.llvm.org></a> wrote:
</pre>
      <blockquote type="cite" class="">
        <pre class="">Ninja is really good, indeed. The only problem I've seen is that LLVM linking step (made massively parallel by Ninja) renders the 8GB RAM system unresponsive due to excessive swapping.
</pre>
      </blockquote>
      <pre class="">FWIW, there is a way to limit the number of parallel link jobs in
particular (so compile jobs can still have more parallelism). I don't
recall exactly what it is - I guess some CMake variable.

</pre>
      <blockquote type="cite" class="">
        <pre class="">You can reconfigure CMake to use Ninja in an existing build folder, but it will not use the binaries previously built with another tool. Moreover, generated files may clash in an incompatible way, so it's rather better to cleanup the old build.

Kind regards,
- Dmitry.

сб, 8 авг. 2020 г. в 23:12, Paul C. Anagnostopoulos via llvm-dev <a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class=""><llvm-dev@lists.llvm.org></a>:
</pre>
        <blockquote type="cite" class="">
          <pre class="">I built my first submission with Visual Studio, but everything I read and watch suggests Ninja, about which I know nothing. Is it okay if I rerun CMake with -G "Ninja" in the same build directory, then just run ninja?

_______________________________________________
LLVM Developers mailing list
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank" class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
        </blockquote>
        <pre class="">_______________________________________________
LLVM Developers mailing list
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank" class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
      </blockquote>
      <pre class="">_______________________________________________
LLVM Developers mailing list
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank" class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
    </blockquote>
  </div>

_______________________________________________<br class="">
LLVM Developers mailing list<br class="">
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a><br class="">
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank" class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br class="">
</blockquote></div></div>
</blockquote></div>
_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a><br class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev<br class=""></div></blockquote></div><br class=""></body></html>