/GENPROFILE
, /FASTGENPROFILE
(Erstellung von Profilerstellungsinstrumenten)
Gibt die Generierung einer .pgd
Datei durch den Linker an, um die profilgesteuerte Optimierung (PGO) zu unterstützen. /GENPROFILE
und /FASTGENPROFILE
verwenden Sie unterschiedliche Standardparameter. Wird /GENPROFILE
verwendet, um die Genauigkeit gegenüber geschwindigkeit und speicherauslastung während der Profilerstellung zu bevorzugen. Wird verwendet /FASTGENPROFILE
, um eine geringere Speicherauslastung und Geschwindigkeit gegenüber der Genauigkeit zu bevorzugen.
Syntax
/GENPROFILE
[:
profile-argument
[,
profile-argument
...]]
/FASTGENPROFILE
[:
profile-argument
[,
profile-argument
...]] \
profile-argument
{ }COUNTER32
|COUNTER64
{ }EXACT
|NOEXACT
MEMMAX=
value
MEMMIN=
value
{ }PATH
|NOPATH
{ }TRACKEH
|NOTRACKEH
PGD=
filename
Argumente
Eines der profile-argument
Argumente kann in oder /FASTGENPROFILE
./GENPROFILE
Argumente, die hier durch ein Pipezeichen (|
) getrennt sind, schließen sich gegenseitig aus. Verwenden Sie ein Kommazeichen (,
) zum Trennen von Argumenten. Setzen Sie keine Leerzeichen zwischen Argumenten, Kommas oder hinter dem Doppelpunkt (:
).
COUNTER32
| COUNTER64
Wird COUNTER32
verwendet, um die Verwendung von 32-Bit-Messsondenzählern anzugeben und COUNTER64
64-Bit-Sondezähler anzugeben. Wenn Sie angeben /GENPROFILE
, lautet COUNTER64
der Standardwert . Wenn Sie angeben /FASTGENPROFILE
, lautet COUNTER32
der Standardwert .
EXACT
| NOEXACT
Wird verwendet EXACT
, um threadsichere interlockierte Inkremente für Probes anzugeben. NOEXACT
Gibt ungeschützte Inkrementvorgänge für Probes an. Der Standardwert ist NOEXACT
.
MEMMAX
=Wert, MEMMIN
=Wert
Verwenden Und MEMMIN
angeben Sie MEMMAX
die maximalen und minimalen Reservierungsgrößen für Schulungsdaten im Arbeitsspeicher. Der Wert entspricht der Größe des in Bytes zu reservierenden Arbeitsspeichers. Standardmäßig werden diese Werte über eine interne Heuristik bestimmt.
PATH
| NOPATH
Dient PATH
zum Angeben eines separaten Satzes von PGO-Zählern für jeden eindeutigen Pfad zu einer Funktion. Wird verwendet NOPATH
, um nur einen Satz von Zählern für jede Funktion anzugeben. Wenn Sie angeben /GENPROFILE
, lautet PATH
der Standardwert . Wenn Sie angeben /FASTGENPROFILE
, lautet NOPATH
der Standardwert .
TRACKEH
| NOTRACKEH
Gibt an, ob zusätzliche Indikatoren verwendet werden sollen, um eine genaue Anzahl beizubehalten, wenn während des Trainings Ausnahmen ausgelöst werden. Wird verwendet TRACKEH
, um zusätzliche Zähler für eine genaue Anzahl anzugeben. Hier können NOTRACKEH
Sie einzelne Leistungsindikatoren für Code angeben, der keine Ausnahmebehandlung verwendet oder in Ihren Schulungsszenarien keine Ausnahmen enthält. Wenn Sie angeben /GENPROFILE
, lautet TRACKEH
der Standardwert . Wenn Sie angeben /FASTGENPROFILE
, lautet NOTRACKEH
der Standardwert .
PGD
=filename
Gibt einen Basisdateinamen für die .pgd
Datei an. Standardmäßig verwendet der Linker den Dateinamen der Basisdatei für ausführbare Dateien mit einer .pgd
Erweiterung.
Hinweise
Die /GENPROFILE
Optionen weisen /FASTGENPROFILE
den Linker an, die Profilerstellungsinstrumentationsdatei zu generieren, die zur Unterstützung der Anwendungsschulung für die profilgeführte Optimierung (PGO) erforderlich ist. Diese Optionen sind neu in Visual Studio 2015. Bevorzugen Sie diese Optionen für die veralteten /LTCG:PGINSTRUMENT
, /PGD
und /POGOSAFEMODE
Optionen sowie für die PogoSafeMode
Variablen , VCPROFILE_ALLOC_SCALE
und VCPROFILE_PATH
Umgebung. Die von der Anwendungsschulung generierten Profilerstellungsinformationen werden während der Builds als Eingabe für gezielte Optimierungen des gesamten Programms verwendet. Sie können auch andere Optionen festlegen, um verschiedene Profilerstellungsfeatures für die Leistung während der App-Schulung und -Builds zu steuern. Die Standardoptionen, die durch /GENPROFILE
die genauesten Ergebnisse angegeben werden, insbesondere für große, komplexe Multithread-Apps. Die /FASTGENPROFILE
Option verwendet unterschiedliche Standardwerte für einen geringeren Speicherbedarf und eine schnellere Leistung während der Schulung auf Kosten der Genauigkeit.
Profilerstellungsinformationen werden erfasst, wenn Sie die instrumentierte App nach dem Erstellen mithilfe /GENPROFILE
von /FASTGENPROFILE
. Diese Informationen werden erfasst, wenn Sie die /USEPROFILE
Linkeroption zum Ausführen des Profilerstellungsschritts angeben und dann verwendet werden, um den optimierten Buildschritt zu leiten. Weitere Informationen zum Trainieren Ihrer App und Details zu den gesammelten Daten finden Sie unter Profilgeführte Optimierungen.
Geben Sie immer an /LTCG
, wann Sie angeben /GENPROFILE
oder /FASTGENPROFILE
.
So legen Sie diese Linkeroption in der Visual Studio-Entwicklungsumgebung fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).
Klicken Sie auf der Eigenschaftenseite auf Konfigurationseigenschaften>Linker>Befehlszeile.
Geben Sie die
/GENPROFILE
Optionen/FASTGENPROFILE
und Argumente in das Feld "Zusätzliche Optionen " ein. Wählen Sie diese OptionOK
aus, um Ihre Änderungen zu speichern.
So legen Sie diese Linkeroption programmgesteuert fest
- Siehe AdditionalOptions.
Siehe auch
MSVC-Linkerreferenz
Linkeroptionen
/LTCG
(Verknüpfungszeitcodegenerierung)