🧰 Engineering Essentials · Code Quality
Profile before optimizing (C++)
Measure hot paths with real data shapes, optimize measured bottlenecks, verify wins.
intermediate~35 minAll Software Engineers
Steps
- 1Define target metric: p95 latency? memory ceiling? throughput?
- 2Build benchmark using PRODUCTION-shaped data volumes
- 3Profile CPU + memory + allocations; identify top three offenders
- 4Optimize one offender at a time; re-measure after each change
- 5Check second-order effects: cache misses, GC pressure, lock contention
- 6Record before/after numbers in the PR for future archaeologists
- 7Sanitizer builds (ASan/UBSan) in CI before perf tuning
- 8Profile with perf/VTune; watch cache lines and allocations
Common Pitfalls
- ▲Optimizing intuition while profile shows I/O waits
- ▲Micro-benchmarks on toy data lying about production
Commands
Install with skills CLI
$ npx skills add aniruddhaadak80/skills --skill code-quality-performance-profiling-cppInstall globally
$ npx skills add aniruddhaadak80/skills --skill code-quality-performance-profiling-cpp -gTags
#performance#profiling#engineering-essentials#code-quality