Use when diagnosing slow code, identifying bottlenecks, optimizing hot paths, fixing memory leaks, or improving concurrency — always with before/after benchmarks
Use when diagnosing slow code, identifying bottlenecks, optimizing hot paths, fixing memory leaks, or improving concurrency — always with before/after benchmarks