Performance Optimization

VerifiedSafe

Guide to improving speed, latency, memory, and efficiency. Define metrics, measure comprehensively, attribute bottlenecks, and prioritize macro-optimizations.

Sby Skills Guide Bot
DevelopmentIntermediate
108/29/2026
Claude CodeCursorWindsurfCopilotCodex
#optimization#performance#profiling#benchmarking#bottleneck

Recommended for

Our review

This skill provides a comprehensive methodology for improving system performance (latency, throughput, memory, etc.) by first defining target metrics, measuring, attributing bottlenecks, then applying optimizations in order of impact.

Strengths

  • Structured, measurable approach based on repeatable benchmarks
  • Prioritizes macro-optimizations before micro-optimizations
  • Combines static analysis and dynamic profiling to find real bottlenecks
  • Requires before/after evidence for each improvement

Limitations

  • Does not provide language-specific profiling commands or tools
  • May require external benchmark script setup
  • Does not cover per-language or per-framework optimization details
When to use it

When tasked with improving the performance, latency, memory usage, or efficiency of an existing system in a structured way.

When not to use it

For functional feature development, bug fixes unrelated to performance, or early prototyping where premature optimization would be counterproductive.

Security analysis

Safe
Quality score88/100

The skill provides high-level guidance for performance optimization and does not instruct destructive, exfiltrating, or obfuscated actions. Although bash is an allowed tool, its usage is only implied for running benchmarks and instrumentation, which is legitimate and standard.

No concerns found

Examples

Optimize slow API response
Our REST API has a p95 latency of 3 seconds, which is too slow. Use the optimization skill to profile the request path, identify bottlenecks, and implement the highest-impact improvements.
Reduce memory footprint
The application's memory usage grows continuously and causes OOM crashes. Apply the optimization skill to define memory metrics, instrument allocation, and reduce memory consumption.
Speed up batch processing job
The nightly batch job takes over 5 hours and needs to finish in under 1 hour. Use the optimization skill to benchmark each stage, find the bottleneck, and optimize the data pipeline.

name: optimization description: Use when improving performance, latency, throughput, memory usage, or general efficiency. Start by defining target metrics, measuring comprehensively, attributing bottlenecks, validating with static analysis, and prioritizing macro-optimizations before micro-optimizations. allowed-tools: bash, read, write, grep, agentgrep, batch, todo

Optimization

Use this skill when the task is about making a system faster, lighter, more scalable, or otherwise more efficient.

Core principle

To optimize properly, you must know:

  1. What metrics you are chasing
  2. What your real bottlenecks are

Do not optimize blindly.

1. Define the target metrics first

Before changing code, make sure you have the right measurements.

  • Identify the exact metrics that matter: latency, throughput, memory, CPU, startup time, compile time, query count, token usage, cost, etc.
  • Measure comprehensively, not just a convenient subset.
  • Make sure the metrics are accurate and representative of the real workload.
  • Prefer measurements that are fast to run so you can iterate quickly.
  • If possible, create repeatable benchmarks or scripts so improvements are verifiable.

2. Get full bottleneck attribution

You should have strong attribution for what each part of the system is doing.

  • Instrument the system so you can see where time and resources are going.
  • Prefer both:
    • Ad hoc inspection for quick debugging
    • Logged measurements for later analysis and comparison
  • Attribute work across the full path, not just the obviously slow component.
  • Make sure the data is detailed enough to explain where the cost comes from.

If you can analyze runs after the fact with logs or traces, that is often much more powerful than relying only on live inspection.

3. Use static analysis too

Not every optimization problem needs runtime profiling first. Often, code inspection reveals the issue.

Check for:

  • Wrong asymptotic complexity
  • The wrong algorithm or data structure
  • Unnecessary repeated work
  • Work happening in the wrong layer
  • Inefficient architecture or control flow
  • Directionally incorrect approaches

Make sure your asymptotics are right and the overall algorithm makes sense before tuning small details.

4. Macro-optimize before micro-optimizing

Prioritize the largest wins first.

  • Remove whole classes of work before making existing work slightly cheaper.
  • Fix architecture, batching, caching, query patterns, algorithm choice, parallelism, and data movement before focusing on tiny low-level tweaks.
  • If you are very far from the expected metrics, spend more time on macro-optimization.

Micro-optimizations matter most after the major inefficiencies are already addressed.

Recommended workflow

  1. Define success metrics.
  2. Reproduce the current baseline.
  3. Add measurement and attribution if missing.
  4. Identify the top bottleneck.
  5. Check for algorithmic or architectural issues.
  6. Apply the highest-leverage fix first.
  7. Re-measure.
  8. Repeat until the target is met or tradeoffs stop being worth it.

Guardrails

  • Do not claim an optimization without before/after evidence.
  • Be careful not to optimize the wrong metric.
  • Watch for regressions in correctness, reliability, maintainability, and security.
  • Prefer changes that are measurable, explainable, and reversible.
Related skills