比較的頻繁に、ある特定のコンピュータのある特定のCPU上のある特定の状況で特定のコードをベンチマーク/プロファイル(またはベンチマーク/この結果が広範囲の非常に異なるCPU(例えば、「64ビットすべて80x86」など)上のさまざまな状況(たとえば、異なる負荷の同じコア内の他の論理CPU)に適用されると仮定しますさまざまな異なるコンピュータ(例えば、異なるRAMタイミングなど)を使用することができます。完全なプロファイラがありますか?
私が探しているのは、(多くの場合、直接測定ではなくコードを解釈することによって)多くのCPUのプロファイリング結果を生成できる一種のプロファイラです。実際に有用で誤解を招かない結果を作成するために、重み付け係数を使用してすべての結果を結合します(ここで、重み付け係数は、各測定されたケースについてユーザーが気にする量を表します)。
この説明に適合するプロファイリングツールはありますか?
こんにちは。あなたの質問はIPC < 1 or IPC > 1つのコード(http://www.brendangregg.com/blog/2017-05-09/cpu-utilization-is-wrong.html - "解釈と実行可能なアイテム"についての詳細です;あなたはcpu-バウンドまたはメモリバウンド)?シングルスレッド、マルチスレッド、またはマルチスレッドのパフォーマンスですか?マイクロアーキテクチャの設計/計画上の問題とFPGAモデルの助けを借りて加速した検索のためのRISC-V BOOMペーパーをご覧ください:https://www2.eecs.berkeley.edu/Pubs/TechRpts/2015/EECS-2015-167.html https://people.eecs.berkeley.edu/~krste/papers/dgkim-msthesis.pdfなど。 – osgx
アクティビティの種類によって、環境によってコストが異なります。 1つの環境では、I/Oが支配的なコストになる可能性がありますが、別の環境ではそうではありません。キャッシュミスは1つで支配的であるが、別のものでは支配的ではない。メモリ割り当て - 同じこと。浮動小数点数学 - 同じこと。並列処理オーバーヘッド - 同じこと。ですから、ワンサイズのツールを使いたい場合は、どのような環境で答えるかを伝える必要があります。私はあなたが体重がそれをすると思うと思うが、私の経験では、カテゴリーが必要なものを事前に教えてはいけないと言います。 –