In a multi-CPU environment when one builds a solution with multiple projects more than one project will build at the same time. The resulting output can look like this:

1>------ Build started: Project: wx_core, Configuration: Debug Win32 ------
2>------ Build started: Project: wx_net, Configuration: Debug Win32 ------
2>Build started 9/16/2009 9:58:06 AM.
2>IsProjectFileNewer:
2>Skipping target "IsProjectFileNewer" because all output files are up-to-date with respect to the input files.
2>_PrepareForBuild:
2>  Touching ".\vc_mswd\net\lastbuild.timestamp".
2>ClCompile:
2>  Skipping task because its outputs are up-to-date.
2>  gsocket.cpp
2>  url.cpp
1>Build started 9/16/2009 9:58:07 AM.
1>IsProjectFileNewer:
1>Skipping target "IsProjectFileNewer" because all output files are up-to-date with respect to the input files.
1>_PrepareForBuild:
1>  Touching ".\vc_mswd\core\lastbuild.timestamp".
1>ClCompile:
1>  Skipping task because its outputs are up-to-date.
2>  socket.cpp
2>  sckstrm.cpp
1>  gsockmsw.cpp
2>  sckipc.cpp
1>  appcmn.cpp
2>  sckfile.cpp
1>  Generating Code...
2>  sckaddr.cpp
2>  protocol.cpp
2>  http.cpp
2>  ftp.cpp
2>  fs_inet.cpp
2>  Generating Code...
1>Lib:
1>  wx_core.vcxproj -> D:\audio\10\wxWidgets-2.8.10\build\msw\..\..\lib\vc_lib\wxmsw28d_core.lib
1>_AfterBuild:
1>  Creating ".\vc_mswd\core\LastSuccessfulBuild.timestamp" because "AlwaysCreate" was specified.
1>
1>Build succeeded.
1>
1>Time Elapsed 00:00:01.20
it would be nice if the output from that to build sessions were not shuffle. Either build could buffer its output or the Output Window could have an additional control "Sort".