distcc vs Ninja
distcc
distcc.orgNinja
ninja-build.orgSide by side
| Figure | distcc | Ninja |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | — |
| Plans published | 1 | 1 |
| Spec score · Build Automation Software | 8.2 (#10) | 8.1 (#13) |
| Build behavior | The site says distcc should produce the same results as a local build and is usually faster than compiling locally. | Builds run in parallel by default, using the number of CPUs on the system. |
| How it works | distcc sends preprocessed source code over the network and uses a distccd daemon and an appropriate compiler on each volunteer machine. | Ninja takes file interdependencies as input and runs the commands needed to build targets. |
| Platform support | The home page says distcc is developed on GNU/Linux and has been reported to work on FreeBSD, NetBSD, Darwin, Solaris, HP-UX, IRIX, Cygwin and BSD/OS. | The manual says Ninja works on Unix-like systems and Windows, and runs on Mac OS X and FreeBSD; it has seen the most testing on Linux. |
| Purpose | distcc distributes builds of C, C++, Objective C and Objective C++ code across multiple networked machines. | Ninja is a small build system designed to evaluate incremental builds quickly. |
| Support | The FAQ directs unanswered questions to the mailing list archives or the distcc mailing list. | The project site links to a mailing list and lists the #ninja-build IRC channel on irc.oftc.net. |
| Use cases | The scenarios page describes use by developer workgroups, laptop users who offload builds to a faster home machine, and developers working on embedded or small computers. | The site says Ninja is used to build Google Chrome, parts of Android, and LLVM. |
Plans
In their own words
distcc
distcc is free software that distributes C, C++, Objective C, and Objective C++ builds across networked machines. It sends preprocessed source code to machines running the distccd daemon and a suitable compiler. The project says distributed builds should match local results and are usually faster than compiling locally. distcc works with GNU Make, SCons, and other parallel build tools. Machines with different processors or operating systems can participate when suitable cross-compilers are installed. GCC is fully supported; Intel icc is somewhat compatible, and the FAQ reports Sun’s proprietary compiler working in C mode. The project is developed on GNU/Linux and reports use on several Unix-like systems, Cygwin, and BSD/OS; listed platforms include Linux, macOS, self-hosted use, and Windows. TCP transmissions are neither encrypted nor signed, while SSH connections are authenticated and encrypted. The FAQ says distcc does not automatically find the best work distribution. Related tools cover server selection, control, cross-compilation, and monitoring.