Performance Optimization: Optimize the Number of PDB Files

Hi Incredibuild members,

We wanted to share with all of you some quick tip that can bring further accelerate benefits and provide better build results.

Today’s post Tip: Optimize the Number of PDB Files

One of the reasons for limited distribution despite many Ready Tasks (see pic #1) can be the PDB File allocation that was set as part of Incredibuild Agent Settings ( see also link to the relevant agent setting location and pic #2).

***** General knowledge** : Incredibuild creates a separate PDB file for each remote core Agent running at any given time and it was made to protect Microsoft’s MSPDBsrv.exe which merges the PDB files, but while this may speed up the build time, it also means that you are limiting the number of Agents allowed to concurrently compile files from the same project.

Incredibuild default PDB number of Files allocation was set to 12 files ( the recommendation came from Incredibuild engineering team’s vast experience with years of running VS builds with Incredibuild).

Nevertheless, our recommendation (if you see in your build monitor limited distribution despite many Ready Tasks) is to increase the PDB files number (you can start with 18 or 24 files and use trial and error to find the optimal setting number that is aligned with your build environment).

Note, that this small change can improve performance however it can also crash because of memory limitation until you discover the optimal number of PDB files that will be align to your build environment.

Good luck and keep us updated if you have any questions and of course with your distribution despite many Ready Tasks example
PDB Agent Settings location


Thank you for this excellent write up!


Thanks Amitay, I’m sure this can be super helpful to all Incredibuild users out there!

1 Like

Well done Amitay this is very useful for sure

1 Like

One important caveat not mentioned is that increasing the number of PDB files also increases your build output size. With big binaries, this overhead can be quite significant.

1 Like

Important and Valid point.
Thanks for covering the build output size output.