Udostępnij za pośrednictwem


Zmienne środowiskowe dla optymalizacji sterowanych profilem

Istnieją trzy zmienne środowiskowe, które mają wpływ na scenariusze testowe na obrazie utworzonym za pomocą /LTCG:PGI na potrzeby optymalizacji z przewodnikiem profilu:

  • PogoSafeMode określa, czy używać trybu szybkiego, czy trybu bezpiecznego do profilowania aplikacji.

  • VCPROFILE_ALLOC_SCALE dodaje dodatkową pamięć do użycia przez profilera.

  • VCPROFILE_PATH umożliwia określenie folderu używanego dla plików pgc.

Zmienne środowiskowe PogoSafeMode i VCPROFILE_ALLOC_SCALE są przestarzałe, począwszy od programu Visual Studio 2015. Opcje konsolidatora /GENPROFILE lub /FASTGENPROFILE i /USEPROFILE określają to samo zachowanie konsolidatora co te zmienne środowiskowe.

PogoSafeMode

Ta zmienna środowiskowa jest przestarzała. Użyj argumentów EXACT lub NOEXACT do /GENPROFILE lub /FASTGENPROFILE, aby kontrolować to zachowanie.

Wyczyść lub ustaw zmienną środowiskową PogoSafeMode , aby określić, czy używać trybu szybkiego, czy trybu bezpiecznego do profilowania aplikacji w systemach x86.

Optymalizacja sterowana profilem (PGO) ma dwa możliwe tryby w fazie profilowania: tryb szybki i tryb awaryjny. Gdy profilowanie jest w trybie szybkim, używa instrukcji INC w celu zwiększenia liczników danych. Instrukcja INC jest szybsza, ale nie jest bezpieczna wątkowo. Podczas profilowania jest w trybie awaryjnym, używa instrukcji LOCK INC w celu zwiększenia liczników danych. Instrukcja LOCK INC ma taką samą funkcjonalność jak instrukcja INC i jest bezpieczna wątkowo, ale jest wolniejsza niż instrukcja INC.

Domyślnie profilowanie PGO działa w trybie szybkim. Tryb PogoSafeMode jest wymagany tylko wtedy, gdy chcesz użyć trybu bezpiecznego.

Aby uruchomić profilowanie PGO w trybie awaryjnym, należy użyć zmiennej środowiskowej PogoSafeMode lub przełącznika konsolidatora /PogoSafeMode, w zależności od systemu. Jeśli wykonujesz profilowanie na komputerze x64, musisz użyć przełącznika konsolidatora. Jeśli wykonujesz profilowanie na komputerze x86, możesz użyć przełącznika konsolidatora lub ustawić zmienną środowiskową PogoSafeMode na dowolną wartość przed rozpoczęciem procesu optymalizacji.

Składnia pogoSafeMode

set PogoSafeMode[=value]

Ustaw wartość PogoSafeMode na dowolną wartość, aby włączyć tryb awaryjny. Ustaw bez wartości, aby wyczyścić poprzednią wartość i ponownie włączyć tryb szybki.

VCPROFILE_ALLOC_SCALE

Ta zmienna środowiskowa jest przestarzała. Użyj argumentów MEMMIN i MEMMAX do /GENPROFILE lub /FASTGENPROFILE, aby kontrolować to zachowanie.

Zmodyfikuj zmienną środowiskową VCPROFILE_ALLOC_SCALE , aby zmienić ilość pamięci przydzielonej do przechowywania danych profilu. W rzadkich przypadkach nie będzie wystarczającej ilości pamięci do obsługi zbierania danych profilu podczas uruchamiania scenariuszy testowych. W takich przypadkach można zwiększyć ilość pamięci, ustawiając VCPROFILE_ALLOC_SCALE. Jeśli podczas przebiegu testu zostanie wyświetlony komunikat o błędzie wskazujący, że masz niewystarczającą ilość pamięci, przypisz większą wartość do VCPROFILE_ALLOC_SCALE, dopóki przebieg testu nie zakończy się bez błędów braku pamięci.

składnia VCPROFILE_ALLOC_SCALE

set VCPROFILE_ALLOC_SCALE[=scale_value]

Parametr scale_value jest czynnikiem skalowania ilości pamięci potrzebnej do uruchamiania scenariuszy testowych. Wartość domyślna to 1. Na przykład ten wiersz polecenia ustawia współczynnik skalowania na 2:

set VCPROFILE_ALLOC_SCALE=2

VCPROFILE_PATH

Użyj zmiennej środowiskowej VCPROFILE_PATH , aby określić katalog do tworzenia plików pgc. Domyślnie pliki pgc są tworzone w tym samym katalogu co profilowany plik binarny. Jeśli jednak ścieżka bezwzględna pliku binarnego nie istnieje, tak jak w przypadku uruchamiania scenariuszy profilu na innej maszynie, z której utworzono plik binarny, można ustawić VCPROFILE_PATH na ścieżkę istniejącą na maszynie docelowej.

składnia VCPROFILE_PATH

ustaw VCPROFILE_PATH[=ścieżka]

Ustaw parametr path na ścieżkę katalogu, w której chcesz dodać pliki pgc. Na przykład ten wiersz polecenia ustawia folder na C:\profile:

set VCPROFILE_PATH=c:\profile

Zobacz też

Optymalizacje sterowane profilem
/GENPROFILE i /FASTGENPROFILE
/USEPROFILE