Splitting make -j across configs (jobs // nconfigs) made each parallel config single-threaded on a 4-vCPU VM, so 3 concurrent serial builds were as slow as the old sequential path (~7min). Windows (MSBuild) runs the 3 configs in parallel each using all cores and finishes in ~2min on the same vCPU/RAM. Mirror that: give every parallel config the full make -j; the scheduler absorbs the mild oversubscription.