My name is Terry Mahaffey and I work on the code generation team in MSVC. Lately I’ve been doing some work on our inliner and I wanted to give a brief introduction to it before later diving into some of the changes we’ll be shipping.
Post by this author
As C++ programs get larger and larger and the optimizer becomes more complex the compiler’s build time, or throughput, increasingly comes into focus. It’s something that needs to be continually addressed as new patterns emerge and take hold (such as “unity”
We’ve blogged before about the benefits of Profile Guided Optimization. One of the biggest pieces of feedback we’ve received is that the instrumented binaries are too slow – making it very difficult to train certain classes of applications, such as games.
The C++ Standard defines operator new as failing by throwing an exception – not returning null. And indeed, this is the behavior in VC++, and has been for a number of releases.
But it hasn’t always been this way. Back in Visual Studio 6.0,