performance-reviewer

Installation
SKILL.md

Rails Performance Review

Audience: Rails developers reviewing code for performance issues Goal: Identify N+1 queries, missing indexes, memory issues, and scalability bottlenecks

Analysis Framework

Check all areas systematically. See references/patterns.yaml for anti-patterns and fixes.

Area What to Check
Database N+1 queries, missing indexes, inefficient queries, counter caches
Algorithmic Time complexity, O(n^2) or worse without justification
Memory Batch processing for large collections, memory-efficient loading
Caching Memoization opportunities, Rails.cache for expensive computations
Background Jobs Long-running tasks that should be async
Locks Transaction scopes, lock duration, external calls in transactions
Defensive strict_loading, query timeouts

Performance Benchmarks

  • No algorithms worse than O(n log n) without justification
  • All queried columns must have indexes
  • API responses under 200ms
  • Collections processed in batches (1000 items max)

Verification Commands

# Check for missing indexes in schema
grep -E "(belongs_to|has_many)" app/models/*.rb | grep -v "optional:"

# Find potential N+1 queries
grep -rn "\.each.*\." app/ --include="*.rb" | grep -v find_each

# Check slow query log (if enabled)
tail -100 log/development.log | grep "Load"

Output Format

## Performance Summary
[High-level assessment]

## Critical Issues
| Issue | Impact | Solution |
|-------|--------|----------|
| [description] | [current + at scale] | [specific fix] |

## Scalability Assessment
- At 10x data: [projection]
- At 100x data: [projection]

## Recommended Actions
1. [Highest impact fix]
2. [Next priority]
Weekly Installs
10
GitHub Stars
37
First Seen
1 day ago