Episode

GoingNative 12: C++ at Build 2012, Inside Profile Guided Optimization

Profile Guided Optimization, or PGO, is an approach to optimization where the compiler uses profile information to make better optimization decisions for the program. Profiling is the process of gathering information of how the program is used during runtime. In a nutshell, PGO is optimizations based on user scenarios whereas static optimizations rely on the source file structure. VC++ has supported this approach to measurement-based code optimization since VC2005. In this episode of GoingNative, we are going to dig into VC++'s implementation of PGO with some of the folks who make it: Program Manager Amit Mohindra and Development Lead Ten Tzen. Tune in.

Table of contents

[00:00] GoingNative();\\ Charles and Ale discuss C++ at Build 2012 and introduce Profile Guided Optimization.

[04:09] Charles interviews VC++ back end compiler team members Ten Tzen (lead developer) and Amit Mohindra (PM) about VC++'s implementation of PGO. Whiteboarding included. This is a long interview, so make some time.

[01:04:15] ~GoingNative(); // Charles and Ale reflect on PGO, Charles answers Herb Sutter's question (that Herb asked Charles during his Build 2012 C++ session (in his intro remarks). Hi Herb!

We really want to hear from you, so please tweet feedback to @C9GoingNative (follow us!) and send your requests, ideas, complaints, praises, hate mail, and love letters to C9GoingNative at hotmail com. We will read and respond to all messages! That's how we roll, brothers and sisters. If you are a Facebook user, then please join our C9::GoingNative Facebook group.

Go native!