7 ms·
+1 for ninja. I first encountered is using Apache TVM, which uses CMake. I was first of all using the default make backend, and it was taking a while. Then t
by grlass 4y ago
+1 for ninja. I first encountered is using Apache TVM, which uses CMake. I was first of all using the default make backend, and it was taking a while. Then the docs said to try adding the `-GNinja` flag to Cmake to build with ninja. I was blown away by how much faster the compilation was, and now try to use it whenever possible.
- faho 4y agoOne issue is that make will default to only using one job (i.e. one cpu), and you need to pass `-j NUMBER` to make it use more, while Ninja is parallel by default. For my uses, I've not found `ninja` to be much faster than `make -j8` on an 8-core machine. Not that the defaults don't matter, of course.
- Syzygies 4y agoI'm surely also in that range. It took us years to write this project, but 57 C files is a small project. Others find themselves in the range where the build decision-making itself can take seconds, with tools other than ninja. Ninja is pared down for speed; having to declare keywords before I used them made me feel young again. I had to write these build files over again, and I just couldn't stomach the idea of writing another makefile.
- jcelerier 4y ago> Then the docs said to try adding the `-GNinja` flag to Cmake to build with ninja. note that nowadays you can just pass --parallel to cmake and it will do "the right thing" whenever possible, c.f. https://cmake.org/cmake/help/latest/manual/cmake.1.html#build-a-project https://cmake.org/cmake/help/latest/manual/cmake.1.html#buil...