Dela via


Miljövariabler för Profile-Guided optimeringar

Det finns tre miljövariabler som påverkar testscenarier på en avbildning som skapats med /LTCG:PGI för profilstyrda optimeringar:

  • PogoSafeMode anger om du vill använda snabbt läge eller felsäkert läge för programprofilering.

  • VCPROFILE_ALLOC_SCALE lägger till ytterligare minne för profilerarens användning.

  • VCPROFILE_PATH kan du ange den mapp som används för .pgc-filer.

Miljövariablerna PogoSafeMode och VCPROFILE_ALLOC_SCALE är inaktuella från och med Visual Studio 2015. Länkalternativen /GENPROFILE eller /FASTGENPROFILE och /USEPROFILE anger samma länkbeteende som dessa miljövariabler.

PogoSafeMode

Den här miljövariabeln är inaktuell. Använd EXACT - eller NOEXACT-argumenten till /GENPROFILE eller /FASTGENPROFILE för att styra det här beteendet.

Rensa eller ange miljövariabeln PogoSafeMode för att ange om du vill använda snabbt läge eller felsäkert läge för programprofilering på x86-system.

Profilstyrd optimering (PGO) har två möjliga lägen under profileringsfasen: snabbt läge och felsäkert läge. När profilering är i snabbt läge använder den INC-instruktionen för att öka dataräknarna. INC-instruktionen är snabbare men är inte trådsäker. När profilering är i säkert läge använder den LOCK INC-instruktionen för att öka dataräknarna. LOCK INC-instruktionen har samma funktioner som INC-instruktionen har och är trådsäker, men den är långsammare än INC-instruktionen.

PGO-profilering fungerar i snabbt läge som standard. PogoSafeMode krävs endast om du vill använda felsäkert läge.

Om du vill köra PGO-profilering i felsäkert läge måste du antingen använda miljövariabeln PogoSafeMode eller länkväxeln /PogoSafeMode, beroende på systemet. Om du utför profileringen på en x64-dator måste du använda länkväxeln. Om du utför profilering på en x86-dator kan du använda länkväxeln eller ställa in Miljövariabeln PogoSafeMode till valfritt värde innan du påbörjar optimeringsprocessen.

PogoSafeMode-syntax

ange PogoSafeMode[=value]

Ange PogoSafeMode till valfritt värde för att aktivera felsäkert läge. Ange utan ett värde för att rensa ett tidigare värde och återaktivera snabbt läge.

VCPROFILE_ALLOC_SCALE

Den här miljövariabeln är inaktuell. Använd MEMMIN - och MEMMAX-argumenten till /GENPROFILE eller /FASTGENPROFILE för att kontrollera det här beteendet.

Ändra VCPROFILE_ALLOC_SCALE miljövariabeln för att ändra mängden minne som allokerats för att lagra profildata. I sällsynta fall finns det inte tillräckligt med minne för att kunna samla in profildata när du kör testscenarier. I dessa fall kan du öka mängden minne genom att ange VCPROFILE_ALLOC_SCALE. Om du får ett felmeddelande under en testkörning som anger att du inte har tillräckligt med minne tilldelar du ett större värde till VCPROFILE_ALLOC_SCALE tills testet körs utan minnesfel.

VCPROFILE_ALLOC_SCALE syntax

ange VCPROFILE_ALLOC_SCALE[=scale_value]

Parametern scale_value är en skalningsfaktor för hur mycket minne du vill ha för att köra testscenarier. Standardvärdet är 1. Den här kommandoraden anger till exempel skalningsfaktorn till 2:

set VCPROFILE_ALLOC_SCALE=2

VCPROFILE_PATH

Använd miljövariabeln VCPROFILE_PATH för att ange katalogen för att skapa .pgc-filer. Som standard skapas .pgc-filer i samma katalog som binärfilen som profileras. Men om den absoluta sökvägen för binärfilen inte finns, vilket kan vara fallet när du kör profilscenarier på en annan dator än där binärfilen skapades, kan du ange VCPROFILE_PATH till en sökväg som finns på måldatorn.

VCPROFILE_PATH syntax

ange VCPROFILE_PATH[=path]

Ange sökvägsparametern till katalogsökvägen där .pgc-filer ska läggas till. Den här kommandoraden anger till exempel mappen till C:\profile:

set VCPROFILE_PATH=c:\profile

Se även

Profile-Guided optimeringar
/GENPROFILE och /FASTGENPROFILE
/USEPROFILE