🧰 Engineering Essentials · Code Quality
Profile before optimizing (Go)
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
- 7Run pprof profiles; check goroutine leaks with goleak
- 8Enforce vet/lint gates; keep error wrapping with %w intact
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-goInstall globally
$ npx skills add aniruddhaadak80/skills --skill code-quality-performance-profiling-go -gTags
#performance#profiling#engineering-essentials#code-quality