共用方式為


特性指引最佳化的環境變數

有三個環境變數會影響使用 /LTCG:PGI 建立之映射上的測試案例,以進行配置檔引導式優化:

  • PogoSafeMode 會指定使用快速模式或安全模式進行應用程式分析。

  • VCPROFILE_ALLOC_SCALE會新增額外的記憶體以供分析工具使用。

  • VCPROFILE_PATH可讓您指定用於 .pgc 檔案的資料夾。

從 Visual Studio 2015 開始,PogoSafeMode 和VCPROFILE_ALLOC_SCALE環境變數已被取代。 鏈接器選項 /GENPROFILE 或 /FASTGENPROFILE 和 /USEPROFILE 會指定與這些環境變數相同的連結器行為。

PogoSafeMode

此環境變數已被取代。 對 /GENPROFILE 或 /FASTGENPROFILE 使用 EXACTNOEXACT 自變數來控制此行為。

清除或設定 PogoSafeMode 環境變數,以指定在 x86 系統上使用快速模式或安全模式進行應用程式分析。

分析引導優化 (PGO) 在分析階段有兩種可能模式: 快速模式 和安全 模式。 分析處於快速模式時,它會使用 INC 指令來增加資料計數器。 INC 指令較快,但不是安全線程。 分析處於安全模式時,它會使用 LOCK INC 指令來增加資料計數器。 LOCK INC 指令具有與 INC 指令相同的功能,而且是安全線程,但速度比 INC 指令慢。

根據預設,PGO 分析會以快速模式運作。 只有在您想要使用安全模式時,才需要PogoSafeMode

若要以安全模式執行 PGO 分析,您必須根據系統使用環境變數 PogoSafeMode 或連結器參數 /PogoSafeMode。 如果您要在 x64 計算機上執行分析,則必須使用連結器參數。 如果您要在 x86 計算機上執行分析,您可以使用連結器參數,或在開始優化程式之前, 將 PogoSafeMode 環境變數設定為任何值。

PogoSafeMode 語法

set PogoSafeMode[=value]

將 PogoSafeMode 設定為任何值以啟用安全模式。 設定沒有值以清除先前的值,然後重新啟用快速模式。

VCPROFILE_ALLOC_SCALE

此環境變數已被取代。 使用 MEMMINMEMMAX 自變數至 /GENPROFILE/FASTGENPROFILE 來控制此行為。

修改VCPROFILE_ALLOC_SCALE環境變數,以變更配置來保存配置檔數據的記憶體數量。 在罕見的情況下,在執行測試案例時,沒有足夠的記憶體可支援收集配置文件數據。 在這些情況下,您可以藉由設定 VCPROFILE_ALLOC_SCALE來增加記憶體數量。 如果您在測試回合期間收到錯誤訊息,指出記憶體不足,請將較大的值指派給 VCPROFILE_ALLOC_SCALE,直到測試執行完成且沒有記憶體不足的錯誤為止。

VCPROFILE_ALLOC_SCALE語法

set VCPROFILE_ALLOC_SCALE[=scale_value]

scale_value參數是執行測試案例所需記憶體數量的縮放比例。 預設值是 1。 例如,此命令行會將縮放比例設定為 2:

set VCPROFILE_ALLOC_SCALE=2

VCPROFILE_PATH

使用 VCPROFILE_PATH 環境變數來指定目錄來建立 .pgc 檔案。 根據預設,.pgc 檔案會建立在與所分析二進位檔相同的目錄中。 不過,如果二進位的絕對路徑不存在,當您在不同的計算機上執行配置檔案例時,與建置二進位檔不同的計算機時,您可以將VCPROFILE_PATH設定為目標計算機上存在的路徑。

VCPROFILE_PATH語法

set VCPROFILE_PATH[=path]

path 參數設定為要在其中新增 .pgc 檔案的目錄路徑。 例如,此命令行會將資料夾設定為 C:\profile:

set VCPROFILE_PATH=c:\profile

另請參閱

特性指引最佳化
/GENPROFILE 和 /FASTGENPROFILE
/USEPROFILE