How to limit the number of parallel cl.exe processes during the Visual Studio solution build?

Viewed 5222

I've recently noticed that once I start building the Visual Studio solution I'm working with (~200 C++ projects), I get a very large number of cl.exe processes. Task manager screenshot

I'm not surprised by the fact of several cl.exe running in parallel, because my projects are set up with /MP option. Project settings in one of the projects

But I would expect that their number would be limited by the following setting in the Visual Studio "Options". Visual Studio settings (Tools -> Options)

I presume that running tens of processes in parallel on the 4-core PC is not the most efficient way to build the solution.

So, basically I've got two questions:

  • Why do I observe such behavior?
  • Is it possible to limit the number of cl.exe instances?

P.S. I normally compile my solution with Visual Studio 2013 Update 4, but the same behavior can be observed with Visual Studio 2017.

4 Answers

To limit number of cl.exe you should use this option (at least it exists here in MSVC 2015):

Tools->Options->Projects and Solutions->VC++ Project Settings\Maximum concurrent C++ compilations

Zero by default means "number of CPUs".

Related