Elixir Performance Review
by @anderskev
Reviews Elixir code for performance issues including GenServer bottlenecks, memory usage, and concurrency patterns. Use when reviewing high-throughput code o...
clawhub install elixir-performance-review๐ About This Skill
name: elixir-performance-review description: Reviews Elixir code for performance issues including GenServer bottlenecks, memory usage, and concurrency patterns. Use when reviewing high-throughput code or investigating performance issues.
Elixir Performance Review
Quick Reference
| Issue Type | Reference | |------------|-----------| | Mailbox overflow, blocking calls | references/genserver-bottlenecks.md | | When to use ETS, read/write concurrency | references/ets-patterns.md | | Binary handling, large messages | references/memory.md | | Task patterns, flow control | references/concurrency.md |
Review Checklist
GenServer
Memory
Concurrency
Database
Valid Patterns (Do NOT Flag)
Context-Sensitive Rules
| Issue | Flag ONLY IF | |-------|--------------| | GenServer bottleneck | Handles > 1000 req/sec OR blocking I/O in callbacks | | Use streams | Processing > 10k items OR reading large files | | Use ETS | Read:write ratio > 10:1 AND concurrent access |
Gates โ before reporting
Do these in order for the performance review. Do not publish findings until each step passes.
1. Protocol loaded โ Read review-verification-protocol and apply its checks for each finding (hot paths, concurrency, resource use). Pass: For every substantive finding, you can name which protocol subsection you satisfied or state N/A with reason (e.g. pure reference to this skillโs Valid Patterns).
2. Anchored evidence โ Pass: Each finding includes a concrete locator: path:line (or line range), or Module.function/arity plus a short quoted snippet from the file.
3. Performance claims โ For anything under Context-Sensitive Rules, or any claim of bottleneck, N+1, unbounded growth, or heavy memory/binary cost, Pass: You state the observed or measured fact that meets โFlag ONLY IFโ (e.g. rate, item count, ratio), or attach an artifact (profiler output, SQL/log excerpt, grep/search scope)โotherwise downgrade to question / suspected with what was not verified.
Before Submitting Findings
Complete Gates โ before reporting (section above) first; the verification protocol is mandatory input to those gates.