/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
使用 MEMMAX
和 MEMMIN
來指定記憶體中定型資料的最大和最小保留大小。 值是以位元組為單位的要保留記憶體數量。 這些值預設由內部的啟發學習法決定。
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
選項,以及 PogoSafeMode
VCPROFILE_ALLOC_SCALE
、 和 VCPROFILE_PATH
/PGD
環境變數。 應用程式定型所產生的分析資訊會作為建置期間以整個程式優化為目標的輸入。 您也可以設定其他選項,以控制應用程式定型和組建期間效能的各種分析功能。 所 /GENPROFILE
指定的預設選項可提供最精確的結果,特別是針對大型、複雜的多執行緒應用程式。 選項 /FASTGENPROFILE
會使用不同的預設值來降低記憶體使用量,並在定型期間以犧牲正確性來加快效能。
當您使用 /GENPROFILE
/FASTGENPROFILE
建置之後執行檢測的應用程式時,會擷取分析資訊。 當您指定 /USEPROFILE
連結器選項來執行分析步驟,然後用來引導優化建置步驟時,就會擷取此資訊。 如需如何定型您的應用程式和所收集資料詳細資料的詳細資訊,請參閱 設定檔引導式優化 。
當您指定 或 /FASTGENPROFILE
時,請一律指定 。 /LTCG
/GENPROFILE
在 Visual Studio 開發環境中設定這個連結器選項
開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性。
選取 [ 組態屬性 > 連結器 > 命令列 ] 屬性頁。
在 [
/GENPROFILE
其他選項 ] 方塊中輸入 或/FASTGENPROFILE
選項和引數。 選擇OK
儲存變更。
若要以程式設計方式設定這個連結器選項
- 請參閱 AdditionalOptions。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應