Share via


/POGOSAFEMODE (Ejecutar la PGO en modo seguro para subprocesos)

La opción /POGOSAFEMODE está en desuso a partir de Visual Studio 2015. En su lugar, use las opciones /GENPROFILE:EXACT y /GENPROFILE:NOEXACT. La opción del enlazador /POGOSAFEMODE especifica que la compilación instrumentada se crea para usar el modo seguro de los subprocesos para la captura de los datos de perfil durante las ejecuciones de entrenamiento de optimización guiada por perfiles (PGO).

Sintaxis

/POGOSAFEMODE

Comentarios

La optimización guiada por perfiles (PGO) tiene dos modos posibles durante la fase de generación de perfiles: el modo rápido y el modo seguro. Cuando la generación de perfiles está en modo rápido, usa la instrucción para aumentar los contadores de datos. La instrucción de incremento es más rápida, pero no es segura para subprocesos. Cuando la generación de perfiles está en modo seguro, usa la instrucción interlocked para aumentar los contadores de datos. Esta instrucción tiene la misma funcionalidad que la instrucción de incremento y es segura para los subprocesos, a pesar de que es más lenta.

La opción /POGOSAFEMODE establece la compilación instrumentada para usar el modo seguro. Esta opción solo se puede usar cuando se especifica /LTCG:PGINSTRUMENT en desuso durante la fase de enlazador de instrumentación PGO.

De forma predeterminada, la generación de perfiles de PGO funciona en el modo rápido. /POGOSAFEMODE solo es necesario si quiere usar el modo seguro.

Para ejecutar la generación de perfiles de PGO en modo seguro, debe usar /GENPROFILE:EXACT (preferido) o la variable de entornoPogoSafeMode o el modificador del enlazador /POGOSAFEMODE en función del sistema. Si está llevando a cabo la generación de perfiles en un equipo x64, debe usar el modificador del enlazador. Si está realizando la generación de perfiles en un equipo x86, puede usar el modificador del enlazador o establecer la variable de entorno en cualquier valor antes de iniciar el proceso de instrumentación de la PGO.

Para establecer esta opción del vinculador en el entorno de desarrollo de Visual Studio

  1. Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para más información, vea Establecimiento del compilador de C++ y de propiedades de compilación en Visual Studio.

  2. Seleccione la página de propiedades Propiedades de configuración>Enlazador>Optimización.

  3. En la propiedad Generación de código en tiempo de vínculo, elija Optimización guiada por perfiles: Instrumentar (/LTCG:PGInstrument).

  4. Seleccione la página de propiedades Propiedades de configuración>Enlazador>Línea de comandos.

  5. Escriba la opción /POGOSAFEMODE en el cuadro Opciones adicionales. Elija Aceptar para guardar los cambios.

Para establecer esta opción del vinculador mediante programación

Consulte también

/GENPROFILE y /FASTGENPROFILE
/LTCG
Optimizaciones guiadas por perfiles
Variables de entrono para las optimizaciones guiadas por perfiles