distcc vs Rake
distcc
distcc.orgRake
ruby.github.ioSide by side
| Figure | distcc | Rake |
|---|---|---|
| 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) | 7.4 (#30) |
| Purpose | distcc distributes builds of C, C++, Objective C and Objective C++ code across multiple networked machines. | Rake is a Make-like program implemented in Ruby for specifying and running tasks and their dependencies. |
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.
Rake
Rake is a Make-like task runner written in Ruby for defining tasks and their dependencies. Its Rakefiles use standard Ruby syntax, and tasks can declare prerequisite tasks. Rule patterns can generate implicit tasks, while FileLists provide array-like handling for file names and paths. Rake includes packaged tasks, including tasks for building tarballs, and can execute tasks in parallel. The documentation’s example has a default task call a test task that runs a Ruby unit test file. Rake runs on Linux, macOS, and Windows; the project lists Ruby 2.0.0 or later as a requirement. Installation is with `gem install rake`. Rake is free under an MIT-style license, with a listed plan of free. The project credits Jim Weirich as its original creator and Hiroshi SHIBATA as maintainer of Rake 10 and later. It is provided as is, without express or implied warranties.