The performance Addict's Toolbox
summary
Quick practical survey of measurement tools and workflows: sampling with perf and visualizing with flame graph pinpoints hotspots (example: ETH miner dominated by sha3_512), system profiling finds a spinning metadata-server lock that causes hangs, and a false‑sharing check via liquid shows ~2–3 GB of cache‑coherency churn when moving from 1 to 4 threads. Covers gprof/pprof, valgrind, hotspots, Intel Advisor, and reproducible harnesses using Google Benchmark plus CSV/roofline analysis; slides and code live on the linked GitHub.
AI-written summary · about
chapters (21)
- 0:00Intro
- 3:06OUR CLIENT
- 4:09BEFORE I BEGIN
- 9:57PERF: WHAT IS A CALLSTACK?
- 10:37PERF: SAMPLING BASED PROFILING
- 13:25HPC USER'S SLOW APPLICATION
- 16:46SIMPLE GRAPHICAL OUTPUT, PERFTOOLS Meeting C++ 2017
- 18:08USING FLAMEGRAPHS, HOTSPOT
- 19:11PROPRIETARY TOOLS
- 20:54INSPECT ASSEMBLY?
- 22:30TEST HYPOTHESIS WITH LIKWID
- 26:46USE CASE: THROUGH LIKWID
- 27:52BOTTOM LINE
- 31:52NOISY LAB UNDER YOUR FINGERS
- 36:04LET'S TAKE A TOY EXAMPLE
- 37:46GOOGLE/BENCHMARK
- 38:50BENCHMARK: SIMPLE APPROACH
- 42:22BENCHMARK: ADVANCED OUTPUT
- 42:48BENCHMARK: REPRODUCE THIS!
- 48:58ROOFLINE FOR REAL
- 49:58TAKE AWAYS
related talks
27mImproving Rust Performance Through Profiling and Benchmarking
05mInterview
05mWhen every Microseconds counts: Lessons learned about performance
01h 00mJust-in-Time Compilation
24mRust performance debugging with TUIs and LLMs
04mThe Power of Profiling
01h 06mUtilize your CPU power
01h 09mComputer Architecture, C++, and High Performance
