python-performance について
Python のボトルネックを特定し、最適化を検証するためのスキルです。プロファイリングやベンチマークなど、テーマ別のモジュールで構成されています。
主な機能
- 01CPU・メモリのプロファイリング
- 02Python コードの最適化パターン
- 03メモリリークの追跡
- 04デコレーターや pytest-benchmark による計測
- 05最適化のベストプラクティスと完了基準
活用シーン
- 01CPU やメモリのボトルネック特定
- 02アプリケーションの遅延やメモリ使用量の削減
- 03最適化による性能向上の検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ athola/ claude-night-market --skill python-performanceインストール後、Claude Code で/python-performanceを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
modules/benchmarking-tools.mdbest-practices.mdmemory-management.mdoptimization-patterns.mdprofiling-tools.md詳細
Python のパフォーマンス最適化
Python コードのプロファイリングと最適化のパターンです。
クイックスタート
# Basic timing
import timeit
time = timeit.timeit("sum(range(1000000))", number=100)
print(f"Average: {time / 100:.6f}s")
確認: --help フラグを付けてコマンドを実行し、利用可能であることを確認します。
使用する場面
- パフォーマンスのボトルネックを特定する
- アプリケーションのレイテンシを低減する
- CPU 負荷の高い処理を最適化する
- メモリ消費量を削減する
- 本番アプリケーションをプロファイリングする
- データベースクエリのパフォーマンスを改善する
使用しない場面
- 非同期並行処理には、代わりに python-async を使用します
- CPU/GPU のシステム監視には、conservation:cpu-gpu-performance を使用します
- 非同期並行処理には、代わりに python-async を使用します
- CPU/GPU のシステム監視には、conservation:cpu-gpu-performance を使用します
モジュール
このスキルは、段階的に読み込めるよう、目的別のモジュールに分かれています。
プロファイリングツール
cProfile による CPU プロファイリング、行単位のプロファイリング、メモリプロファイリング、および py-spy による本番環境でのプロファイリングを行います。コードがどこで時間とメモリを消費しているかを特定するために不可欠です。
最適化パターン
リスト内包表記、ジェネレーター、キャッシュ、文字列の連結、データ構造、NumPy、マルチプロセッシング、データベース操作、ループ変換(Python とコンパイラーで有効な方法の違い)を含む、実績のある 11 種類の最適化パターンを紹介します。
メモリ管理
tracemalloc によるリーク追跡や、キャッシュ向けの弱参照など、メモリ最適化の手法を紹介します。profiling-tools に依存します。
ベンチマークツール
カスタムデコレーターや pytest-benchmark など、パフォーマンス改善を検証するためのベンチマークツールを紹介します。
ベストプラクティス
パフォーマンス最適化作業のベストプラクティス、よくある落とし穴、終了基準を紹介します。profiling-tools と optimization-patterns のガイダンスを統合しています。
終了基準
- ボトルネックを特定するためにコードをプロファイリングした
- 適切な最適化パターンを適用した
- ベンチマークで改善を検証した
- メモリ使用量が許容範囲内である
- パフォーマンスの低下がない