/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 COUNTER64der Standardwert . Wenn Sie angeben /FASTGENPROFILE, lautet COUNTER32der 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, /PGDund /POGOSAFEMODE Optionen sowie für die PogoSafeModeVariablen , VCPROFILE_ALLOC_SCALEund 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

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

  2. Klicken Sie auf der Eigenschaftenseite auf Konfigurationseigenschaften>Linker>Befehlszeile.

  3. Geben Sie die /GENPROFILE Optionen /FASTGENPROFILE und Argumente in das Feld "Zusätzliche Optionen " ein. Wählen Sie diese Option OK aus, um Ihre Änderungen zu speichern.

So legen Sie diese Linkeroption programmgesteuert fest

Siehe auch

MSVC-Linkerreferenz
Linkeroptionen
/LTCG (Verknüpfungszeitcodegenerierung)