Q: Can VS2015 be configured to compile a C++ project as quickly as VS2010? We recently added GameSparks to our C++ project, which (so far as we were able to ascertain) required us to switch from VS2010 to VS2015.
Apart from the platform toolset and the path to msbuild.exe, nothing else in the project was modified.
Debug build times immediately climbed from 60 seconds to over 100 seconds.
As a test, we removed GameSparks again but left the platform as 2015. This reduced the build time by around 2 seconds. Switching back to VS2010 immediately reduced build times back down to 60 seconds again.
The project itself is extremely simple, comprising a single large .cpp file generated by a third-party multi-platform language, and a single .h file which includes the following:
#include <ctime>
#include <cmath>
#include <cctype>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <vector>
#include <typeinfo>
#include <signal.h>
#include <cstdint>
#include <cfloat>

#include <windows.h>
#include <shlobj.h>
#include <direct.h>
#include <sys/stat.h>
#undef LoadString
//OpenAL...
//
#include <al.h>
#include <alc.h>
#include <stb_image.h>
#define STB_VORBIS_HEADER_ONLY
#include <stb_vorbis.c>

The nature of the project means we are building quite frequently, and those forty extra seconds per build really start to add up across the team.
See below for a transcript of the (VS2010) project file. Can anyone see any settings that could account for such a large increase in build time? Thanks.
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Debug|Win32">
      <Configuration>Debug</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|Win32">
      <Configuration>Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectGuid>{692B78A5-C3E9-4843-A55A-5E94A35BDFB4}</ProjectGuid>
    <Keyword>Win32Proj</Keyword>
    <RootNamespace>MonkeyGame</RootNamespace>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>true</UseDebugLibraries>
    <CharacterSet>MultiByte</CharacterSet>
    <PlatformToolset>v100</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>false</UseDebugLibraries>
    <WholeProgramOptimization>true</WholeProgramOptimization>
    <CharacterSet>MultiByte</CharacterSet>
    <PlatformToolset>v100</PlatformToolset>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <LinkIncremental>false</LinkIncremental>
    <IntDir>$(SolutionDir)build\$(Configuration)\</IntDir>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <LinkIncremental>false</LinkIncremental>
    <IncludePath>../lib;../lib/win32;../include;$(IncludePath)</IncludePath>
    <IntDir>$(SolutionDir)build\$(Configuration)\</IntDir>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <ClCompile>
      <PrecompiledHeader>NotUsing</PrecompiledHeader>
      <WarningLevel>TurnOffAllWarnings</WarningLevel>
      <Optimization>Disabled</Optimization>
      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <AdditionalIncludeDirectories>../stb;../openal/include;../glfw3/include;../glfw3/src;../freetype/include;../freetype/include/freetype2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PrecompiledHeaderFile>
      </PrecompiledHeaderFile>
      <DisableLanguageExtensions>false</DisableLanguageExtensions>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
      <FunctionLevelLinking>false</FunctionLevelLinking>
      <BasicRuntimeChecks>Default</BasicRuntimeChecks>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <ExceptionHandling>Async</ExceptionHandling>
      <MinimalRebuild>true</MinimalRebuild>
      <IntrinsicFunctions>false</IntrinsicFunctions>
      <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
      <BufferSecurityCheck>false</BufferSecurityCheck>
    </ClCompile>
    <Link>
      <SubSystem>Windows</SubSystem>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <AdditionalDependencies>opengl32.lib;glu32.lib;openal32.lib;Ws2_32.lib;freetype.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <AdditionalLibraryDirectories>../openal/libs/Win32;../freetype/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <ClCompile>
      <WarningLevel>TurnOffAllWarnings</WarningLevel>
      <PrecompiledHeader>NotUsing</PrecompiledHeader>
      <Optimization>MaxSpeed</Optimization>
      <FunctionLevelLinking>false</FunctionLevelLinking>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <AdditionalIncludeDirectories>../stb;../openal/include;../glfw3/include;../glfw3/src;../freetype/include;../freetype/include/freetype2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PrecompiledHeaderFile>
      </PrecompiledHeaderFile>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
      <ExceptionHandling>Async</ExceptionHandling>
      <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
    </ClCompile>
    <Link>
      <SubSystem>Windows</SubSystem>
      <GenerateDebugInformation>false</GenerateDebugInformation>
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
      <OptimizeReferences>true</OptimizeReferences>
      <AdditionalDependencies>opengl32.lib;glu32.lib;openal32.lib;Ws2_32.lib;freetype.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <AdditionalLibraryDirectories>../openal/libs/Win32;../freetype/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="..\glfw3\src\context.c" />
    <ClCompile Include="..\glfw3\src\init.c" />
    <ClCompile Include="..\glfw3\src\input.c" />
    <ClCompile Include="..\glfw3\src\monitor.c" />
    <ClCompile Include="..\glfw3\src\wgl_context.c" />
    <ClCompile Include="..\glfw3\src\win32_init.c" />
    <ClCompile Include="..\glfw3\src\win32_monitor.c" />
    <ClCompile Include="..\glfw3\src\win32_time.c" />
    <ClCompile Include="..\glfw3\src\win32_tls.c" />
    <ClCompile Include="..\glfw3\src\win32_window.c" />
    <ClCompile Include="..\glfw3\src\window.c" />
    <ClCompile Include="..\glfw3\src\winmm_joystick.c" />
    <ClCompile Include="..\main.cpp" />
    <ClCompile Include="..\stb\stb_image.c" />
    <ClCompile Include="..\stb\stb_vorbis.c" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="..\main.h" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>

