mcpField
P
profiling-optimization

profiling-optimization

github.com/aj-geddes開発373453 回インストール34 週間前に更新
リポジトリ

profiling-optimization について

profiling-optimization は、パフォーマンスのボトルネックを特定してコードを改善する開発者向けのスキルです。複数の言語やツールのガイドを備え、最適化前の計測を重視します。

主な機能

  1. 01実行プロファイルによるボトルネック特定
  2. 02CPU ボトルネックとホットパスへの注目
  3. 03Node.js、Chrome DevTools、Python のガイド
  4. 04データベースクエリ分析とフレームグラフ生成
  5. 05ベンチマークによる最適化効果の計測

活用シーン

  1. 01遅いリクエストの調査とレイテンシ削減
  2. 02CPU 負荷の高いコードパスの特定
  3. 03アプリケーションのスループット向上
  4. 04パフォーマンス変更の効果検証

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill profiling-optimization

インストール後、Claude Code で/profiling-optimizationを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
benchmarking.md
chrome-devtools-cpu-profile.md
database-query-profiling.md
flame-graph-generation.md
nodejs-profiling.md
python-cprofile.md
scripts/
validate-api.sh
templates/
api-scaffold.yaml

詳細

プロファイリングと最適化

目次

概要

データに基づくアプローチを用いてコードの実行をプロファイリングし、パフォーマンスのボトルネックを特定して、重要な処理経路を最適化します。

使用する場面

  • パフォーマンスの最適化
  • CPU のボトルネックの特定
  • ホットパスの最適化
  • 遅いリクエストの調査
  • レイテンシの削減
  • スループットの向上

クイックスタート

最小限の動作例:

import { performance, PerformanceObserver } from "perf_hooks";

class Profiler {
  private marks = new Map<string, number>();

  mark(name: string): void {
    this.marks.set(name, performance.now());
  }

  measure(name: string, startMark: string): number {
    const start = this.marks.get(startMark);
    if (!start) throw new Error(`Mark ${startMark} not found`);

    const duration = performance.now() - start;
    console.log(`${name}: ${duration.toFixed(2)}ms`);

    return duration;
  }

  async profile<T>(name: string, fn: () => Promise<T>): Promise<T> {
    const start = performance.now();

    try {
      return await fn();
    } finally {
// ... (see reference guides for full implementation)

リファレンスガイド

詳細な実装については、references/ ディレクトリを参照してください。

ガイド内容
Node.js ProfilingNode.js のプロファイリング
Chrome DevTools CPU ProfileChrome DevTools の CPU プロファイル
Python cProfilePython cProfile
Benchmarkingベンチマーク
Database Query Profilingデータベースクエリのプロファイリング
Flame Graph Generationフレームグラフの生成

ベストプラクティス

✅ 推奨事項
  • 最適化の前にプロファイリングする
  • ホットパスに注力する
  • 変更の効果を測定する
  • 本番環境に近いデータを使用する
  • メモリと速度のトレードオフを考慮する
  • 最適化の理由を記録する
❌ 非推奨事項
  • プロファイリングせずに最適化する
  • わずかな改善のために可読性を犠牲にする
  • ベンチマークを省略する
  • コールドパスを最適化する
  • 測定せずに変更を加える

コメント