The Basics of Profiling
summary
Begins with a clear claim: profiling finds what is actually slow, not what feels slow. Demonstrates two profiler families, sampling vs instrumentation, and uses Optick and vTune on real game code. Shows concrete fixes for inefficient algorithms, unsuitable data structures, I/O waits and bad concurrency, and traces when micro‑work matters via low‑level metrics like cache misses and branch prediction. Includes reproducible scenarios, before/after measurements and examples that got fixed.
AI-written summary · about
chapters (29)
- 0:00Introduction
- 3:10Overview
- 4:35Theory
- 10:05Optimization Profiling
- 11:15Sampling Profiling
- 14:45Instrumentation Profiling
- 19:00Impacts of Profiling
- 19:50Practice
- 22:20Instrumentation
- 24:50Questions
- 32:15Analysis
- 37:54Finding the needle
- 38:42Finding regressions
- 39:28Finding a bug
- 42:05Assessing the big picture
- 42:48Profiling metrics
- 43:30High CPU time
- 43:53Wait time
- 44:27Profile overview
- 48:34bottleneck analysis
- 49:07inefficient algorithm
- 51:00symptoms of inefficient algorithm
- 51:36efficient data structures
- 53:18spinlocks
- 53:51bottleneck
- 54:19micro optimization
- 55:10blocking
- 55:40bottlenecks
- 56:36conclusion
related talks
01h 17mThe Basics of Profiling
51mProduction Profiling: What, Why and How
31mProfiler: Profiling Code
46mProfiling with Examples: Hunting the Bottleneck
39mProfiling and Benchmarking 101
01h 14mProfiling in Production
15mDivining Profiler Accuracy: An Approach to Approximate Profiler Accuracy Through(…)
47mPerformance optimisation: how do I go about it?
