パフォーマンスプロファイラー
コーディング上級
関数の実行時間、メモリ使用量、バンドルサイズなどを分析しパフォーマンスのボトルネックを特定し、具体的な最適化案を優先度別に提示します。
トリガー
/perf使用頻度必要時
フロントエンド開発者なら? /perfでバンドルサイズとレンダリング性能を一括分析
バックエンド開発者なら? APIレスポンス速度が遅いときにボトルネックを素早く特定
パフォーマンス最適化プロファイリングバンドル
動作フロー
/perf [ファイルまたはエンドポイント] 実行
↓
フェーズ1: 3つの分析を並列実行
complexity
時間計算量分析
memory-check
メモリパターン確認
bundle-audit
バンドル/ローディング分析
↓
ボトルネック優先度 + 最適化コード生成
↓
✓ ボトルネックレポート + 最適化されたコード
スキルコード
# Performance Profiler Skill
## Trigger: /perf [file or endpoint]
When invoked:
1. Static analysis:
- Time complexity of functions (O notation)
- Nested loops and recursive calls
- Unnecessary re-renders (React)
- N+1 query patterns (backend)
- Large bundle imports
2. Identify bottlenecks:
- Rank by estimated impact
- Show the specific code section
3. Output format:
---
## ⚡ Performance Report
### Bottlenecks Found
| # | Location | Issue | Impact | Fix Effort |
|---|----------|-------|--------|-----------|
| 1 | `file:line` | [issue] | 🔴 High | Low |
| 2 | `file:line` | [issue] | 🟡 Med | Med |
### Fix #1: [Issue Name]
**Before** (O(n²)):
```
[current code]
```
**After** (O(n)):
```
[optimized code]
```
**Expected improvement**: ~[X]x faster
### Bundle Analysis (if frontend)
- Total: [X] KB → [Y] KB after tree-shaking
- Largest: [package] ([size])
- Suggestion: dynamic import [package]
---
コピーしてCLAUDE.mdに貼り付ければ、すぐに使えます。
パフォーマンスプロファイラー の仕組み
Performance Profilerは計算ボトルネック、メモリリーク、不要な再レンダリング、バンドルサイズの問題をコードから分析し、最適化の機会を影響度順にランク付けして、具体的な実装ステップを提供します。
パフォーマンスプロファイラー が力を発揮する場面
本番環境でパフォーマンスの劣化が見られ始めたときに重要です。推測と試行錯誤の代わりに、遅延を引き起こしている正確な関数とパターンを特定します。
主な強み
- CPU、メモリ、バンドルの各次元でボトルネックを特定
- 優先順位付けのため期待される影響度で最適化をランク付け
- 一般的なアドバイスではなく具体的なコード変更を提供
- フロントエンドのレンダリングとバックエンドの処理パターンの両方をカバー