Using a std::set as an accumulator in a performance critical piece of code did turn out to be a bottleneck. Here's how I worked around this issue.

Try stopping mspdbsrv.exe (the process that generates the pdb files during a build) if it is still running. My understanding is that it’s supposed to shut down at the end of the compilation but it seems that it can turn into a zombie process and if the latter happens, you can get the above error when linking your binaries.

I’m currently busy porting a large native C++ project from VS2008 to VS2010 and one of the issues I keep running into was build times. The VS2008 build uses a distributed build system; Unfortunately the vendor doesn’t support VS2010 yet, so I couldn’t use the same infrastructure. In order to get a decent build speed, I started exploring MSBuild’s ability to build projects in parallel (which is fairly similar to VS2008’s ability to build projects in parallel) and the C++ compiler’s ability to make use of multiple processors/cores, aka the /MP switch.

Now that’s awfully close to the mark for those of us who’ve work on trading systems:

Thanks to a code snippet I found on the CEDET-Devel mailing list, I can finally use 1.0-pre7 without it conflicting with the integrated CEDET in GNU Emacs 23.2.

As I enjoy Rands’ writing, I think his new book Rands In Repose: Being Geek just made it onto my reading list. As soon as I get through the other three books I still have in my ‘must read urgently’ stack.