[HTCondor-devel] Build HTCondor with Ninja


Date: Tue, 10 Feb 2015 10:38:51 -0600
From: Alan De Smet <adesmet@xxxxxxxxxxx>
Subject: [HTCondor-devel] Build HTCondor with Ninja
On the master branch you can now build HTCondor using Ninja (https://martine.github.io/ninja/ ) in addition to Make.  If you stick with Make, nothing should change.

My experience switching to Ninja is that it saves about 20 seconds on a build. On my computer that takes a no-op build from 20 seconds to less than 1, and a single file build from 45 seconds to 25.

To use Ninja, just add "-GNinja" when you invoke cmake.  For example, I usually create out of workspace builds with:

../CONDOR_SRC/configure_uw ../CONDOR_SRC

and now I do

../CONDOR_SRC/configure_uw -GNinja ../CONDOR_SRC

Ninja support was already present courtesy of CMake, but our glibc external would fail.  I've fixed that.  The fix is... hacky; if you have N cores the glibc build will do N parallel steps while Ninja will also do N parallel steps. Hopefully one isn't building glibc so often that this matters in practice.  Builds using GNU Make will continue to use the Make jobserver and do the Right Thing.

-- 
Alan De Smet                 Center for High Throughput Computing
adesmet@xxxxxxxxxxx                       http://chtc.cs.wisc.edu
[← Prev in Thread] Current Thread [Next in Thread→]
  • [HTCondor-devel] Build HTCondor with Ninja, Alan De Smet <=