On Sat, Aug 8, 2020 at 2:22 PM Dmitry Mikushin via llvm-dev <llvm-dev at lists.llvm.org> wrote:> > 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.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.> 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 <llvm-dev at lists.llvm.org>: >> >> 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 >> llvm-dev at lists.llvm.org >> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
https://ninja-build.org/manual.html |ninja -h| prints help output. Many of Ninja’s flags intentionally match those of Make; e.g |ninja -C build -j 20| changes into the |build| directory and runs 20 build commands in parallel. Neil Nelson On 8/8/20 3:41 PM, David Blaikie via llvm-dev wrote:> On Sat, Aug 8, 2020 at 2:22 PM Dmitry Mikushin via llvm-dev > <llvm-dev at lists.llvm.org> wrote: >> 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. > 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. > >> 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 <llvm-dev at lists.llvm.org>: >>> 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 >>> llvm-dev at lists.llvm.org >>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://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/20200808/c94451b3/attachment.html>
You can set the LLVM_PARALLEL_LINK_JOBS CMake variable to restrict the number of link jobs. On Sat, Aug 8, 2020 at 3:00 PM Neil Nelson via llvm-dev < llvm-dev at lists.llvm.org> wrote:> https://ninja-build.org/manual.html > > ninja -h prints help output. Many of Ninja’s flags intentionally match > those of Make; e.g ninja -C build -j 20 changes into the build directory > and runs 20 build commands in parallel. > > Neil Nelson > On 8/8/20 3:41 PM, David Blaikie via llvm-dev wrote: > > On Sat, Aug 8, 2020 at 2:22 PM Dmitry Mikushin via llvm-dev<llvm-dev at lists.llvm.org> <llvm-dev at lists.llvm.org> wrote: > > 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. > > 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. > > > 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 <llvm-dev at lists.llvm.org> <llvm-dev at lists.llvm.org>: > > 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 listllvm-dev at lists.llvm.orghttps://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > _______________________________________________ > LLVM Developers mailing listllvm-dev at lists.llvm.orghttps://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > _______________________________________________ > LLVM Developers mailing listllvm-dev at lists.llvm.orghttps://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://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/20200808/9507c91c/attachment.html>