Code Optimization
Analyze code for performance issues following this priority order:
Analysis Priorities
Performance bottlenecks
- O(n²) operations, inefficient loops, unnecessary iterations
Memory leaks
- unreleased resources, circular references, growing collections
Algorithm improvements
- better algorithms or data structures for the use case
Caching opportunities
- repeated computations, redundant I/O, memoization candidates
Concurrency issues
- race conditions, deadlocks, thread safety problems
Repo Sync Before Edits (mandatory)
Before creating/updating/deleting files in an existing repository, sync the current branch with remote:
branch
=
"
$(
git
rev-parse --abbrev-ref HEAD
)
"
git
fetch origin
git
pull
--rebase
origin
"
$branch
"
If the working tree is not clean, stash first, sync, then restore:
git
stash push
-u
-m
"pre-sync"
branch
=
"
$(
git
rev-parse --abbrev-ref HEAD
)
"
git
fetch origin
&&
git
pull
--rebase
origin
"
$branch
"
git
stash pop
If
origin
is missing, pull is unavailable, or rebase/stash conflicts occur, stop and ask the user before continuing.
Workflow
0. Create Feature Branch
Before making any changes:
Check the current branch - if already on a feature branch for this task, skip
Check the repo for branch naming conventions (e.g.,
feat/
,
feature/
, etc.)
Create and switch to a new branch following the repo's convention, or fallback to:
feat/optimize-
[Severity] Issue Title
- Location: file:line_number
- Category: Performance | Memory | Algorithm | Caching | Concurrency
- Problem: Brief explanation of the issue
- Impact: Why this matters (performance cost, resource usage, etc.)
- Fix:
- [Code example showing the optimized version]
- Severity Levels
- Critical
-
- Causes crashes, severe memory leaks, or O(n³)+ complexity
- High
-
- Significant performance impact (O(n²), blocking operations, resource exhaustion)
- Medium
-
- Noticeable impact under load (redundant operations, suboptimal algorithms)
- Low
- Minor improvements (micro-optimizations, style improvements with perf benefit) Language-Specific Checks JavaScript/TypeScript Array methods inside loops (map/filter/find in forEach) Missing async/await causing blocking Event listener leaks Unbounded arrays/objects Python List comprehensions vs generator expressions for large data Global interpreter lock considerations Context manager usage for resources N+1 query patterns General Premature optimization warnings (only flag if genuinely impactful) Database query patterns (N+1, missing indexes) I/O in hot paths Error Handling No obvious performance issues found Solution: Report that the code is already well-optimized. Suggest profiling with runtime tools (e.g., perf , Chrome DevTools, py-spy ) to find runtime-specific bottlenecks. Target file is too large (>2000 lines) Solution: Ask the user to specify which functions or sections to focus on. Analyze the most performance-critical paths first. Optimization breaks existing tests Solution: Revert the change immediately. Re-examine the optimization and adjust the approach to preserve existing behavior.