Condividi tramite


/POGOSAFEMODE (eseguire PGO in modalità thread-safe)

L'opzione /POGOSAFEMODE è deprecata a partire da Visual Studio 2015. Usare invece le opzioni /GENPROFILE:EXACT e /GENPROFILE:NOEXACT . L'opzione del linker /POGOSAFEMODE specifica che la compilazione instrumentata viene creata per usare la modalità thread-safe per l'acquisizione dei dati del profilo durante le esecuzioni di training PGO (Profile Guided Optimization).

Sintassi

/POGOSAFEMODE

Osservazioni:

L'ottimizzazione PGO (Profile-Guided Optimization) ha due modalità possibili durante la fase di profilatura: modalità veloce e modalità provvisoria. Quando la profilatura è in modalità rapida, usa un'istruzione di incremento per aumentare i contatori dati. L'istruzione di incremento è più veloce ma non thread-safe. Quando la profilatura è in modalità provvisoria, usa l'istruzione di incremento interlocked per aumentare i contatori dei dati. Questa istruzione ha la stessa funzionalità dell'istruzione di incremento e è thread-safe, ma è più lenta.

L'opzione /POGOSAFEMODE imposta la compilazione instrumentata in modo da usare la modalità provvisoria. Questa opzione può essere usata solo quando si specifica /LTCG:PGINSTRUMENT deprecato, durante la fase del linker di strumentazione PGO.

Per impostazione predefinita, la profilatura PGO funziona in modalità rapida. /POGOSAFEMODE è obbligatorio solo se si vuole usare la modalità provvisoria.

Per eseguire la profilatura PGO in modalità provvisoria, è necessario usare /GENPROFILE:EXACT (preferito) oppure usare la variabile di ambiente PogoSafeMode o l'opzione del linker /POGOSAFEMODE, a seconda del sistema. Se si esegue la profilatura in un computer x64, è necessario usare l'opzione del linker. Se si esegue la profilatura in un computer x86, è possibile usare l'opzione del linker o definire la variabile di ambiente su qualsiasi valore prima di avviare il processo di strumentazione PGO.

Per impostare questa opzione del linker nell'ambiente di sviluppo di Visual Studio

  1. Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.

  2. Selezionare la pagina delle proprietà Ottimizzazione linker>proprietà Proprietà>di configurazione.

  3. Nella proprietà Link Time Code Generation (Generazione codice ora collegamento) scegliere Ottimizzazione guidata profilo - Strumento (/LTCG:PGInstrument).

  4. Selezionare la pagina delle >proprietà Proprietà del linker della riga di comando del linker>di configurazione.

  5. Immettere l'opzione /POGOSAFEMODE nella casella Opzioni aggiuntive. Scegli OK per salvare le modifiche.

Per impostare l'opzione del linker a livello di codice

Vedi anche

/GENPROFILE e /FASTGENPROFILE
/LTCG
Ottimizzazioni PGO
Variabili d'ambiente per le ottimizzazioni GPO