I recently ran into a requirements for retrofitting a logging library to an existing project. My first instinct was to throw Pantheios at it as I've used it before and It Just Worked. Unfortunately in this case, we needed the ability to log to more than two event sinks and it looked like this was getting a little awkward with Pantheios, which prompted me to look at Boost.Log.

It's bit of a link roundup from the past couple of months. Most of you probably saw these already as I'd think you're probably reading the same blogs.

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.