/POGOSAFEMODE (Uruchom PGO w trybie awaryjnym wątku)
Opcja /POGOSAFEMODE jest przestarzała, począwszy od programu Visual Studio 2015. Zamiast tego użyj opcji /GENPROFILE:EXACT i /GENPROFILE:NOEXACT. Opcja konsolidatora /POGOSAFEMODE określa, że instrumentowana kompilacja jest tworzona w celu korzystania z trybu bezpiecznego wątku na potrzeby przechwytywania danych profilu podczas przebiegów trenowania optymalizacji sterowanej profilem (PGO).
Składnia
/POGOSAFEMODE
Uwagi
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 inkrementacji w celu zwiększenia liczników danych. Instrukcja przyrostu jest szybsza, ale nie jest bezpieczna wątkowo. Podczas profilowania jest w trybie awaryjnym, używa instrukcji przyrostowych z blokadą w celu zwiększenia liczby liczników danych. Ta instrukcja ma taką samą funkcjonalność, jak instrukcja inkrementacji, i jest bezpieczna wątkowo, ale jest wolniejsza.
Opcja /POGOSAFEMODE ustawia instrumentowaną kompilację do korzystania z trybu bezpiecznego. Tej opcji można użyć tylko wtedy, gdy określono przestarzałe /LTCG:PGINSTRUMENT , w fazie konsolidatora instrumentacji PGO.
Domyślnie profilowanie PGO działa w trybie szybkim. /POGOSAFEMODE jest wymagany tylko wtedy, gdy chcesz użyć trybu bezpiecznego.
Aby uruchomić profilowanie PGO w trybie awaryjnym, należy użyć /GENPROFILE:EXACT (preferowane) lub 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 zdefiniować zmienną środowiskową na dowolną wartość przed rozpoczęciem procesu instrumentacji PGO.
Aby ustawić tę opcję konsolidatora w środowisku programowania Visual Studio
Otwórz okno dialogowe Strony właściwości projektu. Aby uzyskać szczegółowe informacje, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilowania w programie Visual Studio).
Wybierz stronę właściwości Optymalizacji konsolidatora właściwości>konsolidatora> konfiguracji.
We właściwości Generowanie kodu czasu połączenia wybierz pozycję Optymalizacja z przewodnikiem profilu — instrument (/LTCG:PGInstrument).
Wybierz stronę właściwości wiersza polecenia konsolidatora>konfiguracji.>
Wprowadź /POGOSAFEMODE opcji w polu Dodatkowe opcje. Wybierz przycisk OK , aby zapisać zmiany.
Aby programowo ustawić tę opcję konsolidatora
- Zobacz: AdditionalOptions.
Zobacz też
/GENPROFILE i /FASTGENPROFILE
/LTCG
Optymalizacje sterowane profilem
Zmienne środowiskowe dla optymalizacji sterowanych profilem