Performance Analysis

SkillDev tools

Analyze code for performance issues and suggest optimizations

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Performance Analysis skill

What this skill tells your AI

The instructions your AI receives, as published by covoiturage-gouv-fr/mono in .claude/skills/check-perf/SKILL.md and read by ahel’s review.

Analyze code changes for performance implications and optimization opportunities.

Scope

Review changes from: !git diff --name-only HEAD~1 or files specified in $ARGUMENTS

Performance Checklist

1. Database Operations

  • N+1 queries: Check for loops that execute individual queries
  • Missing indexes: Verify queries use indexed columns in WHERE/JOIN clauses
  • Large result sets: Check for unbounded queries without LIMIT
  • Transaction scope: Verify transactions are as short as possible
  • Connection pooling: Ensure proper connection handling

2. Memory Usage

  • Large object allocation: Check for unnecessary large arrays/objects
  • Memory leaks: Look for unclosed connections, streams, or event listeners
  • Buffer handling: Verify streaming for large files instead of loading into memory
  • Caching strategy: Check if frequently accessed data could be cached

3. API Performance

  • Response size: Check for over-fetching data
  • Compression: Verify gzip is enabled for large responses
  • Pagination: Confirm list endpoints are paginated
  • Async operations: Check if operations can be parallelized

4. Algorithmic Complexity

  • Loop efficiency: Look for O(n^2) or worse patterns
  • Data structure choice: Verify appropriate use of Map/Set vs Array
  • Unnecessary iterations: Check for redundant loops over same data
  • Early returns: Verify functions exit early when possible

5. Caching

  • Redis usage: Check if cacheable data is being cached
  • Cache invalidation: Verify cache keys are invalidated on updates
  • TTL settings: Confirm appropriate expiration times
  • Route caching: Check if expensive endpoints use route caching

6. Geographic/Spatial Operations

  • PostGIS queries: Verify spatial indexes are used
  • H3 resolution: Check appropriate H3 resolution for use case
  • Geometry simplification: Confirm geometries are simplified for display

7. Deno-Specific

  • Module loading: Check for dynamic imports that could be static
  • Worker threads: Consider if CPU-intensive work should use workers
  • Streaming: Use Deno streams for file/network operations

Metrics to Consider

OperationTargetWarning
API response time< 200ms> 500ms
Database query< 50ms> 200ms
Memory per request< 10MB> 50MB
Batch size100-1000> 10000

Output Format

## Performance Analysis Summary

**Impact Level**: [LOW | MEDIUM | HIGH]
**Files Reviewed**: X files

### Performance Issues

#### [IMPACT] Issue Title
- **File**: path/to/file.ts:line
- **Issue**: Description of the performance problem
- **Current complexity**: O(n^2) / Memory: ~XMB / Time: ~Xms
- **Suggested improvement**: How to optimize
- **Expected improvement**: X% faster / X% less memory

### Optimization Opportunities
- Optional improvements that aren't blocking

### Approved Changes
- List of changes with acceptable performance characteristics

### Benchmarks Suggested
- [ ] Specific scenarios that should be load tested

Invocation

/check-perf                        # Review uncommitted changes
/check-perf src/pdc/services/      # Review specific directory
/check-perf --focus=database       # Focus on database operations

Signals

GitHub stars
36
Forks
12
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
check-perf
Source
github.com/covoiturage-gouv-fr/mono