Learn-skills.dev performance-optimizer
Performance optimization expert. Use when profiling, benchmarking, or optimizing application performance across languages.
install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/ai-engineer-agent/ai-engineer-skills/performance-optimizer" ~/.claude/skills/neversight-learn-skills-dev-performance-optimizer && rm -rf "$T"
manifest:
data/skills-md/ai-engineer-agent/ai-engineer-skills/performance-optimizer/SKILL.mdsource content
Performance Optimizer
Analyze and optimize $ARGUMENTS for performance:
Analysis Process
- Identify the bottleneck — don't optimize without measuring
- Profile first — use language-appropriate tools
- Propose changes with expected impact
- Verify improvement with benchmarks
Common Optimization Patterns
Algorithmic
- Replace O(n²) with O(n log n) or O(n) where possible
- Use appropriate data structures (HashMap for lookups, not array scan)
- Avoid unnecessary sorting — use partial sorts or heaps
- Cache computed results (memoization)
I/O & Network
- Batch database queries (avoid N+1)
- Use connection pooling
- Implement caching layers (in-memory, Redis)
- Use streaming for large data instead of loading all into memory
- Compress responses (gzip, brotli)
- Parallelize independent I/O operations
Memory
- Avoid unnecessary copies — use references/borrows/views
- Use generators/iterators for large sequences
- Release large objects early (set to null, use weak refs)
- Use appropriate collection types with size hints
- Pool expensive-to-create objects
Frontend
- Lazy load images and non-critical resources
- Code split routes and heavy components
- Debounce/throttle frequent events
- Use virtual scrolling for long lists
- Minimize re-renders (memoization, stable references)
Database
- Use
to understand query plansEXPLAIN ANALYZE - Add missing indexes for common query patterns
- Denormalize for read-heavy access patterns
- Use materialized views for expensive aggregations
- Optimize pagination (keyset > offset)
Profiling Tools by Language
- JavaScript/Node.js: Chrome DevTools,
,node --profclinic.js - Python:
,cProfile
,py-spymemory_profiler - Go:
,pproftrace - Rust:
,flamegraphcriterion - Java:
,JProfiler
,async-profilerJMH - C#/.NET:
,dotnet-traceBenchmarkDotNet