When to use the CloudBees Build Acceleration Cluster

1 minute read

CloudBees Build Acceleration is designed to be a complete replacement for GNU Make or Microsoft NMAKE. It has the same command-line switches, produces identical output, and (with a few exceptions) reads your existing makefiles without change. Wherever you are currently invoking gmake or nmake —in a script, from a batch process, or interactively—you can run eMake to distribute the work to the Cluster Manager and complete your build faster.

In some cases, however, distributed builds are not always faster. In particular, if a build has very little work to do or has much higher I/O activity compared to computation, it can be faster to allow the build to execute locally. The best examples of these build types are

  • “Clean” targets – these often do little more than large recursive deletes.

  • “One touch” build—a build consisting of nothing more than zero or one compilations followed immediately by a large link.

But then, depending on the build specifics, the cluster might outperform local builds for a large class of “clean” target or “one touch” builds—it is best to experiment with a few common configurations to determine which mode is more efficient. Typically, if a build has two or more jobs it can execute concurrently, running the build on the cluster is more efficient.

If you find that some common “clean” or “one touch” builds are faster when run locally, you can run eMake in local mode. In local mode, eMake behaves exactly like your existing Make, running all jobs in series on the local system.