Visual Studio 2015 Part7at TECH
Visual Studio 2015 Part7 - 暇つぶし2ch716:デフォルトの名無しさん
16/12/13 19:06:35.31 Lu9RYSaI.net
VC++のPGOビルドについてどなたかお詳しい方いませぬか?
PGOビルドのためのテスト実行を毎回行いたくありません。
テスト実行して収集したpgcファイルまたはそれをマージしたpgdファイルを使いまわすことはできないのでしょうか?
URLリンク(msdn.microsoft.com)
PGO Manager は、古いプロファイル データでは使用できません。 .pgc ファイルを .pgd ファイルにマージするには、その .pgc ファイルが、.pgd ファイルを生成したのと同じリンク呼び出しで作成された実行可能ファイルによって生成される必要があります。
とあります。
確かに、古いpgcをバックアップしておき、意図的にそれを配置してビルドしてみると以下のように怒られました。
PGOMGR : 警告 PG1052: インストルメンテーション データ ファイル '....MFCApplication1\Release\MFCApplication1!1.pgc' は異なるプロファイル データベースに属しています。
なのでpgcだけ退避しておいて再利用するというのは難しそうですね。
ということでマージ済みpgdを再利用する方向を考えます。
最適化設定のビルド構成をリビルドしようとするとpgdファイルが無いので怒られます。
そこで
クリーン → 予め退避しておいたマージ済みpgdを配置 → ビルド
とやってみたところ、問題なくリンクされました。
これは危険なお作法でしょうか?
バイナリ内のクラスや関数設計が変わったりしたとき、pgdが古いことによる弊害が起こりうるんでしょうか?
或いは、そもそも思想が間違ってますでしょうか?
(PGOビルドのためには毎回テスト実行が必要という考え方が一般的?)

ソリューション構成を以下の2つに分けてGUIから検証しています。
・テスト実行用ビルド(pgd付き)
・pgcとpgdに基づいた最適化ビルド
よろしくお願いします。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch