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. 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. See here for a complete list of all supported build tools and compilers. 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. |