ホーム » VC » VC でのプロファイル

2020年12月
 12345
6789101112
13141516171819
20212223242526
2728293031  

カテゴリー

アーカイブ

ブログ統計情報

  • 74,851 アクセス

VC でのプロファイル

VC 6 の頃はよく使っていたが…
VC 12 では何故かうまく動かなかった.
VC 14 で簡単に動作を確認すると,前より使い易くなっている.


メニューの「分析」-「パフォーマンス プロファイラー」.
VC 14 「メニュー」-「分析」-「パフォーマンス プロファイラー」
「CPU 使用率」にチェックを付けて「開始」.
プロファイル用にビルドされて exe が起動する.
テストする操作を行い exe を終了させる.
暫くすると結果が表示される(この情報の見方はよくわからず).
VC 14 プロファイル exe を終了した後に表示される「概要」?
CPU のグラフの下の「詳細なレポートを作成します…」を「クリック」.
プロファイラ 詳細なレポート 概要
上の方のドロップダウンから「関数」を選択.
表示された関数名のリストから関数をダブルクリック(ここでは CF_GetOuterLine ).
CF_GetOuterLine の「関数コード ビュー」
ちょっと意外だったが,Vd3A の代入に時間がかかっている.


2020/12/23
Vd3A の代入ではなく参照にコードを変更.
テストする exe も,もう少し機能を単純化したものを使用.
VC 14 プロファイル Vd3A の「代入」を「参照」に変更
データにもよるが,該当部分の時間が半分位になった.


更にループ内の Vd3 も参照にしてみたが,こちらは効果なし.

typedef	Vector3<double> 	Vd3 ;		//  3D 座標 ( double の x , y , z ) 
typedef	std::vector<Vd3>	Vd3A ;		//  3D 座標の配列 

Vd3A は可変長で,メモリの確保と解放が伴うためと思われる.
std::vector の配列の要素に対する操作の逆アセンブル表示
* デバッグ版のため実際のコード(計測した Release 版)とは異なると思う.
1 回の「面の結合」

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

1件のコメント

  1. […] 先日使った VC のプロファイラがうまく動作しなくなった? 動作としては開始するが,結果が取れない. 「CPU 使用率」で,実行中のグラフは表示されている. 実行終了後,下の部分の関数名などが表示される所のデータがうまく生成されない? 次の様にやってもうまくいかない. MSDN クイック スタート: Visual Studio の CPU 使用率データの分析 (C++) 「手順 2: CPU 使用率データの分析」のデータが取れない. […]

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

%d人のブロガーが「いいね」をつけました。