/GENPROFILE, /FASTGENPROFILE (Generowanie kompilacji instrumentowanej profilowania)

Określa generowanie .pgd pliku przez konsolidator, aby obsługiwać optymalizację z przewodnikiem profilu (PGO). /GENPROFILE i /FASTGENPROFILE użyj różnych parametrów domyślnych. Służy /GENPROFILE do faworyzowania precyzji w porównaniu z szybkością i użyciem pamięci podczas profilowania. Służy /FASTGENPROFILE do faworyzowania mniejszego użycia pamięci i szybkości w porównaniu z precyzją.

Składnia

/GENPROFILE[:profile-argument[,profile-argument ...]]
/FASTGENPROFILE[:profile-argument[,profile-argument ...]] \

profile-argument
 { COUNTER32 | COUNTER64 }
 { EXACT | NOEXACT }
MEMMAX=wartość
MEMMIN=wartość
 { PATH | NOPATH }
 { TRACKEH | NOTRACKEH }
PGD=Pod nazwą

Argumenty

Dowolny z profile-argument argumentów można określić na /GENPROFILE lub /FASTGENPROFILE. Argumenty wymienione tutaj oddzielone znakiem potoku (|) wykluczają się wzajemnie. Użyj znaku przecinka (,), aby oddzielić argumenty. Nie umieszczaj spacji między argumentami, przecinkami ani po dwukropku (:).

COUNTER32 | COUNTER64
Służy COUNTER32 do określania użycia liczników sond 32-bitowych oraz COUNTER64 do określania liczników sond 64-bitowych. Po określeniu /GENPROFILEparametru wartość domyślna to COUNTER64. Po określeniu /FASTGENPROFILEparametru wartość domyślna to COUNTER32.

EXACT | NOEXACT
Służy EXACT do określania międzylokowanych wątkowo przyrostów dla sond. NOEXACT Określa niechronione operacje przyrostowe dla sond. Wartość domyślna to NOEXACT.

MEMMAX=wartość, MEMMIN=wartość
Użyj MEMMAX funkcji i MEMMIN , aby określić maksymalny i minimalny rozmiar rezerwacji na potrzeby danych treningowych w pamięci. Wartość jest ilością pamięci do zarezerwowania w bajtach. Domyślnie te wartości są określane przez wewnętrzną heurystyczną.

PATH | NOPATH
Służy PATH do określania oddzielnego zestawu liczników PGO dla każdej unikatowej ścieżki do funkcji. Służy NOPATH do określania tylko jednego zestawu liczników dla każdej funkcji. Po określeniu /GENPROFILEparametru wartość domyślna to PATH . Po określeniu /FASTGENPROFILEparametru wartość domyślna to NOPATH .

TRACKEH | NOTRACKEH
Określa, czy należy używać dodatkowych liczników, aby zachować dokładną liczbę, gdy wyjątki są zgłaszane podczas trenowania. Służy TRACKEH do określania dodatkowych liczników dla dokładnej liczby. Służy NOTRACKEH do określania pojedynczych liczników dla kodu, który nie używa obsługi wyjątków lub który nie napotka wyjątków w scenariuszach szkoleniowych. Po określeniu /GENPROFILEparametru wartość domyślna to TRACKEH . Po określeniu /FASTGENPROFILEparametru wartość domyślna to NOTRACKEH .

PGD=Pod nazwą
Określa podstawową nazwę .pgd pliku. Domyślnie konsolidator używa podstawowej nazwy pliku obrazu wykonywalnego z .pgd rozszerzeniem.

Uwagi

Opcje /GENPROFILE i /FASTGENPROFILE informują konsolidator o wygenerowaniu pliku instrumentacji profilowania potrzebnego do obsługi trenowania aplikacji na potrzeby optymalizacji opartej na profilu (PGO). Te opcje są nowe w programie Visual Studio 2015. Preferuj te opcje jako przestarzałe /LTCG:PGINSTRUMENT, /PGDi /POGOSAFEMODE opcje oraz PogoSafeModezmienne środowiskowe , VCPROFILE_ALLOC_SCALEi VCPROFILE_PATH . Informacje o profilowaniu generowane przez trenowanie aplikacji są używane jako dane wejściowe dla docelowych optymalizacji całego programu podczas kompilacji. Możesz również ustawić inne opcje kontrolowania różnych funkcji profilowania pod kątem wydajności podczas trenowania i kompilacji aplikacji. Domyślne opcje określone przez /GENPROFILE dają najdokładniejsze wyniki, zwłaszcza w przypadku dużych, złożonych aplikacji wielowątowych. Opcja /FASTGENPROFILE używa różnych wartości domyślnych dla mniejszej ilości pamięci i szybszej wydajności podczas trenowania kosztem dokładności.

Informacje o profilowaniu są przechwytywane podczas uruchamiania instrumentowanej aplikacji po skompilowaniu przy użyciu programu /GENPROFILE/FASTGENPROFILE. Te informacje są przechwytywane podczas określania /USEPROFILE opcji konsolidatora do wykonania kroku profilowania, a następnie używane do kierowania zoptymalizowanym krokiem kompilacji. Aby uzyskać więcej informacji na temat trenowania aplikacji i szczegółów dotyczących zebranych danych, zobacz Optymalizacje sterowane profilem.

Zawsze określaj /LTCG , kiedy określisz /GENPROFILE wartość lub /FASTGENPROFILE.

Aby ustawić tę opcję konsolidatora w środowisku programowania Visual Studio

  1. 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).

  2. Wybierz stronę właściwości wiersza polecenia konsolidatora>konfiguracji.>

  3. /GENPROFILE Wprowadź opcje i argumenty lub /FASTGENPROFILE w polu Opcje dodatkowe. Wybierz OK , aby zapisać zmiany.

Aby programowo ustawić tę opcję konsolidatora

Zobacz też

Dokumentacja konsolidatora MSVC
Opcje konsolidatora MSVC
/LTCG (Generowanie kodu w czasie połączenia)