Share via


/GENPROFILE/FASTGENPROFILE (產生已檢測的組建分析)

指定 .pgd 連結器產生檔案以支援設定檔引導優化 (PGO)。 /GENPROFILE/FASTGENPROFILE 使用不同的預設參數。 用來 /GENPROFILE 在分析期間偏好精確度與速度與記憶體使用量。 使用 /FASTGENPROFILE 來偏向較小的記憶體使用量,並加快精確度。

語法

/GENPROFILE[:profile-argument[,profile-argument ...]]
/FASTGENPROFILE[:profile-argument[,profile-argument ...]]\

profile-argument
 { COUNTER32 | COUNTER64 }
 { EXACT | NOEXACT }
MEMMAX=value
MEMMIN=value
 { PATH | NOPATH }
 { TRACKEH | NOTRACKEH }
PGD=檔案名稱

引數

profile-argument任何引數都可以指定給 /GENPROFILE/FASTGENPROFILE 。 此處列出的引數會以管道字元 ( | ) 分隔為互斥。 使用逗號字元 ( , ) 分隔引數。 請勿在引數、逗號或冒號之後放置空格。 :

COUNTER32 | COUNTER64
使用 COUNTER32 來指定 32 位探查計數器的使用,以及 COUNTER64 指定 64 位探查計數器。 當您指定 /GENPROFILE 時,預設值為 COUNTER64 。 當您指定 /FASTGENPROFILE 時,預設值為 COUNTER32

EXACT | NOEXACT
使用 EXACT 來指定探查的執行緒安全聯鎖增量。 NOEXACT 指定探查未受保護的遞增作業。 預設值為 NOEXACT

MEMMAX=value、 MEMMIN= value
使用 MEMMAXMEMMIN 來指定記憶體中定型資料的最大和最小保留大小。 值是以位元組為單位的要保留記憶體數量。 這些值預設由內部的啟發學習法決定。

PATH | NOPATH
使用 PATH 來為函式的每個唯一路徑指定個別的 PGO 計數器集。 使用 NOPATH 來指定每個函式的一組計數器。 當您指定 /GENPROFILE 時,預設值為 PATH 。 當您指定 /FASTGENPROFILE 時,預設值為 NOPATH

TRACKEH | NOTRACKEH
指定在訓練期間擲回例外狀況時,是否使用額外的計數器來保持精確的計數。 使用 TRACKEH 來指定確切計數的額外計數器。 使用 NOTRACKEH 來指定程式碼的單一計數器,這些計數器不會使用例外狀況處理,或未在定型案例中遇到例外狀況。 當您指定 /GENPROFILE 時,預設值為 TRACKEH 。 當您指定 /FASTGENPROFILE 時,預設值為 NOTRACKEH

PGD=檔案名稱
指定檔案的 .pgd 基底檔案名。 根據預設,連結器會使用副檔名為 .pgd 基底可執行檔的檔案名。

備註

/GENPROFILE/FASTGENPROFILE 選項會告知連結器產生支援分析引導優化應用程式定型所需的分析檢測檔案(PGO)。 這些選項是 Visual Studio 2015 的新功能。 偏好使用這些選項來取代 /LTCG:PGINSTRUMENT 、、 和 /POGOSAFEMODE 選項,以及 PogoSafeModeVCPROFILE_ALLOC_SCALE 、 和 VCPROFILE_PATH/PGD 環境變數。 應用程式定型所產生的分析資訊會作為建置期間以整個程式優化為目標的輸入。 您也可以設定其他選項,以控制應用程式定型和組建期間效能的各種分析功能。 所 /GENPROFILE 指定的預設選項可提供最精確的結果,特別是針對大型、複雜的多執行緒應用程式。 選項 /FASTGENPROFILE 會使用不同的預設值來降低記憶體使用量,並在定型期間以犧牲正確性來加快效能。

當您使用 /GENPROFILE/FASTGENPROFILE 建置之後執行檢測的應用程式時,會擷取分析資訊。 當您指定 /USEPROFILE 連結器選項來執行分析步驟,然後用來引導優化建置步驟時,就會擷取此資訊。 如需如何定型您的應用程式和所收集資料詳細資料的詳細資訊,請參閱 設定檔引導式優化

當您指定 或 /FASTGENPROFILE 時,請一律指定 。 /LTCG/GENPROFILE

在 Visual Studio 開發環境中設定這個連結器選項

  1. 開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性

  2. 選取 [ 組態屬性 > 連結器 > 命令列 ] 屬性頁。

  3. 在 [ /GENPROFILE 其他選項 ] 方塊中輸入 或 /FASTGENPROFILE 選項和引數。 選擇 OK 儲存變更。

若要以程式設計方式設定這個連結器選項

另請參閱

MSVC 連結器參考
MSVC 連結器選項
/LTCG (連結時間程式碼產生)