Improving link time with IncrediBuild
Posted by - NA - on 06 April 2014 02:38 PM

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 that 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 - 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 in the following location: Agent Settings -> Visual Studio Builds -> General

If you are using Visual Studio .NET or 2005 you can try enabling IncrediLink (Agent Settings dialog, Build System page) to speed up incremental links. Read the product documentation for some considerations that need to be taken when using this mode.

The following suggestions might also help improve link speed:

1. Try to minimize use of the /LTCG linker option in local builds, since this option moves a significant portion of the build processing from the compilation phase to the linking phase, significantly impacting IncrediBuild's performance improvement.

2. 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).

3. If your typical build operation builds multiple projects in parallel, consider using the "Limit concurrent PDB instances" option (Agent Settings dialog, "Visual Studio Builds|Advanced" page). This will decrease the number of PDB files, speeding up builds, but will also limit the number of concurrent files from the same project configurationthat IncrediBuild will build at any single 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)

5. Make sure you are running the latest version of IncrediBuild.

6. Periodically rebuilding the project (even nightly) can reduce PDB fragmentation and help improve subsequent link times.

7. Changing the debug information format to /Z7 can also help improve link times.

(3237 vote(s))
This article was helpful
This article was not helpful

Comments (0)
Post a new comment
Full Name:
Help Desk Software by Kayako