🧰 Engineering Essentials · Code Quality
Profile before optimizing (Ruby)
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
- 7Profile with rack-mini-profiler in dev and rbspy in prod
- 8Watch object churn per request; freeze frozen string literals
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-rubyInstall globally
$ npx skills add aniruddhaadak80/skills --skill code-quality-performance-profiling-ruby -gTags
#performance#profiling#engineering-essentials#code-quality