By harnessing idle CPU cores across machines on your local or cloud based network, IncrediBuild can accelerate Make builds as well as other major build tools, such as MSBuild, ninja, waf, scons, jom, jam and many others.
Running out-of-the-box with many popular tools, IncrediBuild provides out of the box acceleration of build tools, compilers, and many other time consuming tasks that you execute as part of your build, requiring zero changes to your Make files or build scripts. IncrediBuild can be easily extended to accelerate additional tasks that are part of your build process, such as unit testing, packaging, asset creation and more.
Starting from IncrediBuild v. 9.5.0, you can run CMake builds from Visual Studio IDE in the same way you run SLN files. (Technical Preview)
Speeding up Your Builds
IncrediBuild is used to accelerate the compilations of many common build tools. As with all distributed IncrediBuild jobs, all remotely performed tasks fully emulate the initiating machine's environment and file system, eliminating the need to copy files or install applications onto remote machines. This essentially means that you don't need to do anything besides installing IncrediBuild on each machine you'd want to add to your IncrediBuild infrastructure.
Just Add One Parameter to Your Build Command
All of the build tools IncrediBuild accelerates support a mode of operation that allows execution of multiple processes in parallel, taking advantage of multiple cores/processors.
These build tools allow you to do one of the following:
- Specify a switch without any value – This indicates to the build tool to execute in parallel multiple tasks according to the number of cores that your machine has.
- Specify a switch and assign to it a specific number – This indicates to the build tool to execute as many as the specified number of tasks in parallel.
Example: In Make, specifying the -J value to 4, sets a maximum of 4 tasks to be executed in parallel on your machine. Without including a -J value, the Make tool automatically identifies the number of cores available and executes parallel tasks accordingly.
With IncrediBuild, it is required to specify a large number for -J, such as 100. This instructs Make to execute up to 100 tasks in parallel, as though you have 100 cores on your local machine. IncrediBuild will then manage this queue of tasks and will distribute them to idle cores available on your network.
It is recommended that you experiment with the -J switch to find the optimized number for your build that gives the best performance.
Supported Make and Build Tools
See here for a complete list of all supported build tools and compilers.
Build Visualization Monitor
IncrediBuild comes with a build visualization monitor that provides you with the ability to have a graphical representation of your build process.
With IncrediBuild, you get a complete graphical representation of the build process, allowing you to better detect errors and bottlenecks, iterating through errors and warnings, replay historical builds and much more.
Meanwhile, the regular Make tool only provides you a textual output of the build process.
IncrediBuild can be further extended to accelerate additional tasks that are part of your build process.
Example: Some common tasks that IncrediBuild distributes in a Make-based build are based on the GCC compiler and the other compilers IncrediBuild supports out-of-the-box. However, some projects have very time-consuming custom tools that are executed as part of the build, such as rendering, encoding, compression, and custom compilers. You can extend IncrediBuild's functionality to also distribute these tasks by adding a configuration file that tells IncrediBuild which tools you'd like it to distribute to idle cores across your network.
Make and Other Build Tools related:
Children Display style h4
Children Display style h4 page IncrediBuild Solutions