Agent Skills by ALSEL
汎用ソフトウェア開発⭐ リポ 0品質スコア 65/100

cpp-performance

C++のランタイムパフォーマンス最適化、ホットパス、メモリアロケーション、キャッシュ効率、ベクトル化、分岐削減、並列化、データ指向設計、および並行処理のオーバーヘッド削減に対応する場合に使用します。

description の原文を見る

Use when optimizing C++ runtime performance, hot paths, allocations, cache efficiency, vectorization, branch reduction, parallelization, data-oriented design, and concurrency overhead.

SKILL.md 本文

C++ パフォーマンス スキル

目的

正確性を損なわずに、C++ コードのランタイムパフォーマンス、メモリ効率、および予測可能な動作を最適化します。

使用場面

ホットパスの最適化、メモリ確保圧力の削減、キャッシュ効率、ベクトル化の機会、分岐削減、ルーチンの並列化、並行処理オーバーヘッドの分析、データ指向再設計に使用します。

優先事項

  1. 正確性を保持する。
  2. 最適化の前に計測する。
  3. コールドコードの前にホットパスを最適化する。
  4. マイクロ最適化の前にアルゴリズムとデータレイアウトの改善を優先する。
  5. 測定可能な影響を生み出す可能性が高い最小限の変更を優先する。

ワークフロー

  1. プロファイリングデータまたはベンチマークからホットパスを特定する。
  2. パフォーマンス目標を確認する: レイテンシ、スループット、メモリフットプリント、またはテール動作。
  3. 低レベルの詳細調整の前にアルゴリズムの複雑性を検査する。
  4. メモリ確保、コピー、一時オブジェクト、オーナーシップパターンを確認する。
  5. データレイアウト、キャッシュ局所性、分岐動作、アクセスパターン、およびデータ指向表現がワークロードに より適合するかどうかを確認する。
  6. 予測不可能な分岐が正確性を損なわずに削除、ホイスト、テーブルルックアップ、マスク、条件付き移動、またはその他のブランチレス形式に変換できるかどうかを確認する。
  7. ルーチンがデータ、タスク、またはパイプラインステージ全体で安全に並列化できるかどうかを確認し、ワークロードサイズがスレッドオーバーヘッドを正当化するかどうかを推定する。
  8. 抽象化がインライン化、ベクトル化、または効率的なコード生成を妨げるかどうかを確認する。
  9. 並行コードの同期、競合、フォルスシェアリング、スケジューリングオーバーヘッドを確認する。
  10. 最初に最も確実性の高い最小限の変更を提案する。
  11. 同じ条件下で再計測し、絶対値と相対値の影響を報告する。

レビュー チェックリスト

  • このコードは計測されたホットパス上にあるか?
  • 現在のアルゴリズムはワークロードに適切か?
  • 不要なメモリ確保、コピー、または一時オブジェクトが存在するか?
  • データレイアウトはアクセスパターンに合わせて配置されているか?
  • データ指向レイアウトは局所性、SIMD 使用、またはトラバーサル効率を改善するか?
  • コンテナは使用パターンに適切か?
  • 予測不可能な分岐がホットパス上のスループットに悪影響を与えているか?
  • 分岐が多いロジックはコードの安全性と透明性を損なわずにブランチレス形式に書き直せるか?
  • ルーチンは独立した作業項目全体で並列化できるか?
  • 問題サイズは並列オーバーヘッドを正当化するほど十分か?
  • コンパイラはインライン化またはベクトル化から制限されている可能性があるか?
  • 一般的なパスの分岐は予測可能か?
  • 同期が必要以上に重くないか?
  • フォルスシェアリングまたはキャッシュ競合の可能性があるか?
  • ベンチマークは本番環境の動作を代表しているか?

制約事項

  • 計測なしでパフォーマンス改善を主張しない。
  • コードが実測でホットであると証明されない限り、低レベルのトリックのために明確性とトレードオフしない。
  • 計測されたボトルネックが本当にレイアウトまたはトラバーサルコストに起因していない限り、データ指向の書き直しを強制しない。
  • 分岐が既に予測可能であるか、変換されたコードが測定可能な利益なしに保守性が低下する場合、ブランチレスコードを強制しない。
  • 独立性、粒度、メモリ動作がスピードアップを妥当にしない限り、ルーチンの並列化を強制しない。
  • エンドツーエンドの影響を無視しながらマイクロベンチマークを最適化しない。
  • 可読性、ポータビリティ、コンパイル時間、および保守コストのトレードオフを明記する。
  • 最適化が動作を変更する可能性がある場合、数値またはセマンティックのリスクを指摘する。

出力

以下を提供します:

  • 推定されるボトルネック
  • それが高コストである理由
  • 提案される最適化
  • それが役立つと予想される理由
  • 主なリスクまたはトレードオフ
  • 検証計画

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
miaodi
リポジトリ
miaodi/llm_config
ライセンス
MIT
最終更新
2026/5/11

Source: https://github.com/miaodi/llm_config / ライセンス: MIT

本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: miaodi · miaodi/llm_config · ライセンス: MIT