指定 .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=filename
引數
profile-argument任何自變數都可以指定給 /GENPROFILE 或 /FASTGENPROFILE。 此處列出的自變數會以管道字元 (|) 分隔為互斥。 使用逗號字元 (,) 分隔自變數。 請勿在自變數、逗號或冒號之後放置空格。:
COUNTER32 | COUNTER64
使用 COUNTER32 來指定 32 位探查計數器的使用,以及 COUNTER64 指定 64 位探查計數器。 當您指定 /GENPROFILE時,預設值為 COUNTER64。 當您指定 /FASTGENPROFILE時,預設值為 COUNTER32。
EXACT | NOEXACT
使用 EXACT 來指定探查的線程安全聯鎖增量。
NOEXACT 指定探查未受保護的遞增作業。 預設值為 NOEXACT。
MEMMAX
=
value、 MEMMIN=
使用 MEMMAX 和 MEMMIN 來指定記憶體中定型數據的最大和最小保留大小。 值是以位元組為單位的要保留記憶體數量。 這些值預設由內部的啟發學習法決定。
PATH | NOPATH
使用 PATH 來為函式的每個唯一路徑指定個別的 PGO 計數器集。 使用 NOPATH 來指定每個函式的一組計數器。 當您指定 /GENPROFILE時,預設值為 PATH 。 當您指定 /FASTGENPROFILE時,預設值為 NOPATH 。
TRACKEH | NOTRACKEH
指定在訓練期間擲回例外狀況時,是否使用額外的計數器來保持精確的計數。 使用 TRACKEH 來指定確切計數的額外計數器。 使用 NOTRACKEH 來指定程式代碼的單一計數器,這些計數器不會使用例外狀況處理,或未在定型案例中遇到例外狀況。 當您指定 /GENPROFILE時,預設值為 TRACKEH 。 當您指定 /FASTGENPROFILE時,預設值為 NOTRACKEH 。
PGD
=
filename
指定檔案的 .pgd 基底檔名。 根據預設,連結器會使用擴展名為 .pgd 基底可執行檔的檔名。
備註
/GENPROFILE和 /FASTGENPROFILE 選項會告知連結器產生支援分析引導優化應用程式定型所需的分析檢測檔案(PGO)。 這些選項是 Visual Studio 2015 的新功能。 偏好使用這些選項來取代/LTCG:PGINSTRUMENT、、 和 /PGD 選項,以及/POGOSAFEMODEPogoSafeMode、 和 VCPROFILE_ALLOC_SCALEVCPROFILE_PATH環境變數。 應用程式定型所產生的分析資訊會作為建置期間以整個程式優化為目標的輸入。 您也可以設定其他選項,以控制應用程式定型和組建期間效能的各種分析功能。 所 /GENPROFILE 指定的預設選項可提供最精確的結果,特別是針對大型、複雜的多線程應用程式。 選項 /FASTGENPROFILE 會使用不同的預設值來降低記憶體使用量,並在定型期間以犧牲正確性來加快效能。
當您使用 /GENPROFILE/FASTGENPROFILE建置之後執行檢測的應用程式時,會擷取分析資訊。 當您指定 /USEPROFILE 連結器選項來執行分析步驟,然後用來引導優化建置步驟時,就會擷取此資訊。 如需如何定型您的應用程式和所收集資料詳細數據的詳細資訊,請參閱 配置檔引導式優化。
當您指定或/LTCG時,請指定/GENPROFILE/FASTGENPROFILE
在 Visual Studio 開發環境中設定這個連結器選項
開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性。
選取 [組態屬性]>[連結器]>[命令列] 屬性頁。
在 [
/GENPROFILE/FASTGENPROFILE] 方塊中輸入 或 選項和自變數。 選擇OK儲存變更。
若要以程式設計方式設定這個連結器選項
- 請參閱 AdditionalOptions。