🧰 Engineering Essentials · Code Quality
Profile before optimizing (.NET)
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
- 7Review GC modes per workload type (workstation/server)
- 8Benchmark with BenchmarkDotNet; beware allocation in loops
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-dotnetInstall globally
$ npx skills add aniruddhaadak80/skills --skill code-quality-performance-profiling-dotnet -gTags
#performance#profiling#engineering-essentials#code-quality