Batch Build Broken

Re Visual Studio 2005 Standard:

I'm testing with a large project (240 components), and I found that parallel builds don't work from the Batch Build box, no matter what setting I use (1-32) for the number of builds.

Oddly enough, parallel builds worked fine in Beta 2, and they still work if I choose to build a "solution." When I do a batch build, however, I'm back to one CL process at a time.

This same project took 3 minutes to build in Beta 2. It takes over 20 minutes to build in the release version.

My build machine has two Opteron dual-core processors, and my project has a large number of subprograms, each with an x86 and an x64 target. Under Beta 2, I found that 8 parallel builds maxed out the CPUs, but was marginally faster than limiting to one compile per CPU. Any more than 8 did not result in reduced overall build time.

Building a single solution (only one target for each subprogram, for example, Win32 Debug) runs in parallel just fine, and has the same speed characteristics as under Beta 2.

Help I want to build my entire project (all targets) using the Batch Build menu using parallel builds.

- j.



Answer this question

Batch Build Broken

  • Karulont

    This is unfortunate but batch build isn’t designed to do parallel builds.  The different configs may output to the same folder and stomp on each other.  This was enabled accidentally in Beta2 but disabled by RTM.

    Please feel free to log your suggestion at http://lab.msdn.microsoft.com/productfeedback/default.aspx

    Thanks,
    Vu.


  • teddy_hk

    They MAY stomp on each other Well, of course. This is why each config has its own settings, and why I so carefully set each one up with its own folders.

    By the way, your explanation doesn't cover why Build Solution runs in parallel. After all, those projects have exactly as much chance of stomping on each other.

    Is there a way to turn this feature on for those of us who want it Do you realize that select/build, select/build, select/build is still faster than batch build (by an order of magnitude), but very, very annoying (by several orders of magnitude)

    I'll go file a suggestion right now. I still hope to find a way to turn this feature on.


  • Joe Lynn

    Followup:

    1. Completely removed all VS components and reinstalled the Std Edition. Behavior unchanged: Clean Solution and Build Solution still work in parallel. Batch Build does not.

    2. Completely removed all VS components again and installed the Pro Edition. Behavior unchanged: Clean Solution and Build Solution still work in parallel. Batch Build does not.

    3.  Completely removed all VS components again and installed VS Beta 2. Parallel builds work everywhere.

    4.  Wiped OS, reinstalled XP x64. Installed VS Pro Edition. Parallel builds do not work in Batch Build.

    If it matters, this is a dual-Opteron (four cores) with 8 GB RAM and no swap file. Parallel builds (F7 or right-click a solution) use 100% of all four processor cores, task list shows lots of CL processes, and the build output window shows numbers 1>, 2>, and so forth. When built from the Batch Build menu to build all the targets, the task list shows only one CL process at a time, the processor cores tick slowly, and the build output window does not show 1>, 2>, etc.

    Seems pretty clear something got broken between Beta 2 and release.

  • Welly

    sorry, there is no way to enable this.

    josh
    Visual C++ Project/Build developer 

  • David Yue

    No

    1>
    2>

    here, either, on batch build.  I can rebuild the solution and get two built in parallel (I suppose that's what the intermixed 1> 2> are there for).


  • Dhileep

    More info:

    Thought it *might* be an inheritance problem, so I created a fresh VC++ project. Win32 application, using all the defaults. Sample app compiles cleanly and runs (exit and about box), but does not build in parallel.

    Tried AGAIN using a fresh OS install (XP-64) and Team Edition of VS. Exactly the same behavior. This is really getting annoying.

    Am I really the only person who can't do parallel builds from the Batch Build dialog

    - j.

  • Batch Build Broken