The Basics of Profiling
09:30 - 11:00 Saturday 9th April 2022 BST
Beginner
What to do when a program is slower than what we’d like? Where to start when trying to improve throughput, latency or responsiveness?
In this beginner friendly session we will introduce the two big families of profilers (sampling and instrumentation) and two tools my team uses almost every day when working on games: Optick and vTune.
Through a few concrete cases based on past experience we will study how to troubleshoot a performance problem using a profiler and how the code was improved.
We will illustrate a few classic cases such as inefficient algorithms, unsuitable data structures, I/O waits and bad concurrency.
Finally we will shortly explain what micro-optimizations are and when they should be considered by looking at low level metrics such as cache misses and branch prediction.
Mathieu Ropert
French C expert working on (somewhat) historical video games. Decided to upgrade his compiler once and has been blogging about build systems ever since. Past speaker at CppCon, Meeting C and ACCU. Used to run the Paris C User Group. Currently lives in Sweden.