Incredibuild Support has moved! Come join us at:
Improving link time with IncrediBuild
Posted by - NA -, Last modified by Yoni Davidson on 27 December 2017 09:29 AM
Until version 4.0 IncrediBuild might, in some cases, take longer than Visual Studio to execute the link phase. This is related to the fact that IncrediBuild generated multiple PDB and IDB files when building (one for each concurrent Agent), while Visual Studio only generates one of each of these files.
Since version 4.5, IncrediBuild's new PDB Forwarding mechanism solved this issue and in addition to creating one single PDB file, just as Visual Studio does, it also accelerates the general build time even further.
This new feature is supported from Visual Studio 2005 SP2 to Visual Studio 2010. The implementation for Visual Studio 2012 and above will be introduced shortly.
From Version 5.0 IncrediBuild automatically builds the links in parallel on the local machine. The amount of cores that will build the links in parallel can be set from the Agent Settings by clicking on "General" under the Visual Studio Builds page
If you are using Visual Studio .NET or 2005 you can try enabling IncrediLink (from the Agent Settings under the Build System page) to speed up incremental links. Read the product documentation for some considerations that need to be taken into account when using this feature.
The following suggestions might also help improve link speed:
- Try to minimize the use of the /LTCG linker option in local builds. This option moves a significant portion of your build process from the compilation phase to the linking phase, which can significantly improve IncrediBuild's performance.
- If you are running a "live" anti-virus scanner (or any other file-scanning software), disable its operation on the project's intermediate and output folder or on typical intermediate file extensions (*.pdb, *.obj, *.idb, *.sbr, *.pch).
- If you typically build multiple projects in parallel, you can use the "Limit concurrent PDB Instances" option from the Agent Settings menu by clicking on "Advanced" under the Visual Studio Builds page . This decreases the number of PDB files, which speeds up builds, but also limits the number of concurrent files from that project that will be built using Incredibuild at any given time. This suggestion is valid for Visual Studio .NET, 2005 and for Visual Studio 2012 and above (until the PDB Forwarding mechanism will be introduced for those Visual Studio versions).
- Make sure you are running the latest version of IncrediBuild.
- Periodically rebuilding the project (even nightly) can reduce PDB fragmentation and help improve subsequent link times.
- Changing the debug information format to /Z7 can also help improve link times.