performance-analyzer

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Performance Analyzer Skill

Performance Analyzer 技能

パフォーマンスボトルネックを特定し、最適化提案を行うスキルです。
这是一款用于识别性能瓶颈并提供优化建议的技能。

概要

概要

コードの実行時間、メモリ使用量、アルゴリズム複雑度を分析し、具体的な最適化提案を提供します。
分析代码的执行时间、内存使用量、算法复杂度,并提供具体的优化建议。

主な機能

主要功能

  • アルゴリズム複雑度分析: Big O記法での評価
  • N+1クエリ検出: データベースクエリの最適化
  • メモリリーク検出: 未解放リソース、循環参照
  • キャッシング機会: メモ化、CDN活用
  • 非同期処理: 並列化、Promise最適化
  • バンドルサイズ: Tree shaking、Code splitting
  • レンダリング最適化: 仮想化、遅延読み込み
  • 算法复杂度分析:使用Big O标记进行评估
  • N+1查询检测:数据库查询优化
  • 内存泄漏检测:未释放资源、循环引用
  • 缓存优化机会:记忆化、CDN活用
  • 异步处理优化:并行化、Promise优化
  • 包体积优化:Tree shaking、代码分割
  • 渲染优化:虚拟化、懒加载

使用方法

使用方法

このコードのパフォーマンス分析:
[コード]

分析項目:
- アルゴリズム複雑度
- メモリ使用量
- 最適化提案
分析以下代码的性能:
[代码]

分析项:
- 算法复杂度
- 内存使用量
- 优化建议

分析例

分析示例

N+1 クエリ問題

N+1 查询问题

問題のあるコード:
javascript
// O(n) のクエリを n 回実行 = O(n²)
const posts = await Post.findAll();
for (const post of posts) {
  post.author = await User.findById(post.authorId); // N+1問題
}
最適化:
javascript
// O(n) + O(m) = O(n)
const posts = await Post.findAll();
const authorIds = posts.map(p => p.authorId);
const authors = await User.findByIds(authorIds); // 1回のクエリ
const authorMap = new Map(authors.map(a => [a.id, a]));
posts.forEach(post => post.author = authorMap.get(post.authorId));
改善: クエリ数 101回 → 2回、レスポンス時間 90% 削減
存在问题的代码:
javascript
// O(n) のクエリを n 回実行 = O(n²)
const posts = await Post.findAll();
for (const post of posts) {
  post.author = await User.findById(post.authorId); // N+1問題
}
优化方案:
javascript
// O(n) + O(m) = O(n)
const posts = await Post.findAll();
const authorIds = posts.map(p => p.authorId);
const authors = await User.findByIds(authorIds); // 1回のクエリ
const authorMap = new Map(authors.map(a => [a.id, a]));
posts.forEach(post => post.author = authorMap.get(post.authorId));
优化效果: 查询次数从101次减少到2次,响应时间缩短90%

アルゴリズム最適化

算法优化

非効率:
python
undefined
非高效实现:
python
undefined

O(n²) - 遅い

O(n²) - 遅い

def has_duplicates(arr): for i in range(len(arr)): for j in range(i + 1, len(arr)): if arr[i] == arr[j]: return True return False

**最適化**:
```python
def has_duplicates(arr): for i in range(len(arr)): for j in range(i + 1, len(arr)): if arr[i] == arr[j]: return True return False

**优化方案**:
```python

O(n) - 高速

O(n) - 高速

def has_duplicates(arr): return len(arr) != len(set(arr))
undefined
def has_duplicates(arr): return len(arr) != len(set(arr))
undefined

メモリ最適化

内存优化

問題:
javascript
// メモリリーク: イベントリスナーが解放されない
component.addEventListener('click', handler);
修正:
javascript
// クリーンアップ
const controller = new AbortController();
component.addEventListener('click', handler, { signal: controller.signal });
// コンポーネント破棄時
controller.abort();
问题代码:
javascript
// メモリリーク: イベントリスナーが解放されない
component.addEventListener('click', handler);
修复方案:
javascript
// クリーンアップ
const controller = new AbortController();
component.addEventListener('click', handler, { signal: controller.signal });
// コンポーネント破棄時
controller.abort();

出力レポート

输出报告

markdown
undefined
markdown
undefined

パフォーマンス分析レポート

性能分析报告

サマリー

摘要

  • Critical: 2件(即時対応必須)
  • High: 4件(短期対応)
  • Medium: 6件(中期改善)
  • Critical: 2件(需立即处理)
  • High: 4件(需短期处理)
  • Medium: 6件(中期优化)

Critical 問題

Critical 问题

[CRITICAL] N+1 クエリ問題

[CRITICAL] N+1 查询问题

場所: api/posts.ts:45-52 影響: 100件のデータで101回のクエリ実行 レスポンス時間: 2.5秒 → 0.3秒(88%改善可能)
位置: api/posts.ts:45-52 影响: 处理100条数据时执行101次查询 响应时间: 2.5秒 → 0.3秒(可提升88%)

[CRITICAL] O(n²) アルゴリズム

[CRITICAL] O(n²) 算法

場所: utils/search.py:23 影響: 10,000件で100,000,000回の比較 実行時間: 45秒 → 0.5秒(98%改善可能)
位置: utils/search.py:23 影响: 处理10,000条数据时执行100,000,000次比较 执行时间: 45秒 → 0.5秒(可提升98%)

最適化提案

优化建议

  1. データベースクエリ: Eager loading使用
  2. アルゴリズム: ハッシュテーブル活用
  3. キャッシング: Redis導入
  4. 非同期処理: Promise.all で並列化
undefined
  1. 数据库查询: 使用Eager loading
  2. 算法: 利用哈希表
  3. 缓存: 引入Redis
  4. 异步处理: 使用Promise.all 实现并行化
undefined

ベストプラクティス

最佳实践

  1. 計測: プロファイリングツール使用
  2. ボトルネック特定: 最も影響の大きい部分から最適化
  3. トレードオフ: 可読性とのバランス
  4. 継続的監視: APM ツール導入
  1. 性能测量: 使用性能分析工具
  2. 瓶颈定位: 优先优化影响最大的环节
  3. 权衡取舍: 平衡性能与代码可读性
  4. 持续监控: 引入APM工具

バージョン情報

版本信息

  • スキルバージョン: 1.0.0
  • 最終更新: 2025-01-22
  • 技能版本: 1.0.0
  • 最后更新: 2025-01-22