PGO: How it works and how to use it properly


Profile-guided optimization is a powerful technique that can improve application performance. In this talk, we'll first understand how this technique works in the compiler (using clang/llvm as an example). Then we'll see how the compiler lets you customize PGO. And at the end, we'll look at a couple of small examples: when PGO can improve application performance, and when it can't.