Teilen über


/POGOSAFEMODE (PGO im threadsicheren Modus ausführen)

Die Option "/POGOSAFEMODE" ist ab Visual Studio 2015 veraltet. Verwenden Sie stattdessen die Optionen "/GENPROFILE:EXACT " und "/GENPROFILE:NOEXACT ". Die Option "/POGOSAFEMODE linker" gibt an, dass der instrumentierte Build erstellt wird, um den threadsicheren Modus für die Profildatenerfassung während der PGO-Trainingsläufe (Profile-Guided Optimization) zu verwenden.

Syntax

/POGOSAFEMODE

Hinweise

Die profilgesteuerte Optimierung (Profile-Guided Optimization, PGO) besitzt zwei mögliche Modi während der Profilerstellung: den schnellen und den abgesicherten Modus. Wenn sich die Profilerstellung im schnellen Modus befindet, wird eine Inkrementanweisung verwendet, um Datenzähler zu erhöhen. Die Inkrementanweisung ist schneller, ist aber nicht threadsicher. Wenn sich die Profilerstellung im abgesicherten Modus befindet, wird die inkrementierte Anweisung verwendet, um Datenzähler zu erhöhen. Diese Anweisung verfügt über die gleiche Funktionalität wie die Inkrementanweisung und ist threadsicher, ist aber langsamer.

Die Option "/POGOSAFEMODE " legt den instrumentierten Build fest, um den abgesicherten Modus zu verwenden. Diese Option kann nur verwendet werden, wenn die veraltete /LTCG:PGINSTRUMENT-Methode während der PGO-Instrumentierungsverknüpfungsphase angegeben wird.

Standardmäßig wird PGO-Profilerstellung im schnellen Modus ausgeführt. /POGOSAFEMODE ist nur erforderlich, wenn Sie den abgesicherten Modus verwenden möchten.

Zum Ausführen der PGO-Profilerstellung im abgesicherten Modus müssen Sie je nach System entweder /GENPROFILE:EXACT (bevorzugt) oder die Umgebungsvariable PogoSafeMode oder den Linker switch /POGOSAFEMODE verwenden. Wenn Sie die Profilerstellung auf einem x64-Computer ausführen, müssen Sie den Linkerschalter verwenden. Wenn Sie die Profilerstellung auf einem x86-Computer durchführen, können Sie den Linkerschalter verwenden oder die Umgebungsvariable auf einen beliebigen Wert definieren, bevor Sie den PGO-Instrumentierungsprozess starten.

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. Wählen Sie die Eigenschaftenseite "Konfigurationseigenschaftenoptimierung>>" aus.

  3. Wählen Sie in der Eigenschaft " Link Time Code Generation " die Option "Profile Guided Optimization - Instrument (/LTCG:PGInstrument)" aus.

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

  5. Geben Sie die Option "/POGOSAFEMODE " in das Feld "Zusätzliche Optionen " ein. Klicken Sie auf OK, um die Änderungen zu speichern.

So legen Sie diese Linkeroption programmgesteuert fest

Siehe auch

/GENPROFILE, /FASTGENPROFILE (Generieren eines Instrumentierungsbuilds für die Profilerstellung)
/LTCG
Profilgesteuerte Optimierungen
Umgebungsvariablen für profilgesteuerte Optimierungen