/GENPROFILE
, /FASTGENPROFILE
(Generar compilación instrumentada de generación de perfiles)
Especifican la generación de un archivo .pgd
mediante el enlazador para admitir la optimización guiada por perfiles (PGO). /GENPROFILE
y /FASTGENPROFILE
usan parámetros predeterminados diferentes. Use /GENPROFILE
para favorecer la precisión sobre el uso de memoria y velocidad durante la generación de perfiles. Use /FASTGENPROFILE
para favorecer el menor uso de memoria y velocidad sobre la precisión.
Sintaxis
/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=
nombredearchivo
Argumentos
Cualquiera de los argumentos profile-argument
se puede especificar en /GENPROFILE
o /FASTGENPROFILE
. Los argumentos enumerados aquí separados por un carácter de barra vertical (|
) son mutuamente excluyentes. Use un carácter de coma (,
) para separar argumentos. No coloque espacios entre argumentos, comas o después de los dos puntos (:
).
COUNTER32
| COUNTER64
Use COUNTER32
para especificar el uso de contadores de sondeo de 32 bits y COUNTER64
para especificar contadores de sondeo de 64 bits. Cuando se especifica /GENPROFILE
, el valor predeterminado es COUNTER64
. Cuando se especifica /FASTGENPROFILE
, el valor predeterminado es COUNTER32
.
EXACT
| NOEXACT
Use EXACT
para especificar incrementos interbloqueados seguros para subprocesos para los sondeos. NOEXACT
especifica las operaciones de incremento no protegido para los sondeos. El valor predeterminado es NOEXACT
.
MEMMAX
=value, MEMMIN
=value
Use MEMMAX
y MEMMIN
para especificar los tamaños de reserva máximo y mínimo para los datos de entrenamiento en memoria. El valor es la cantidad de memoria que se reserva en bytes. De forma predeterminada, estos valores se determinan mediante una heurística interna.
PATH
| NOPATH
Use PATH
para especificar un conjunto independiente de contadores PGO para cada ruta de acceso única a una función. Use NOPATH
para especificar solo un conjunto de contadores para cada función. Cuando se especifica /GENPROFILE
, el valor predeterminado es PATH
. Cuando se especifica /FASTGENPROFILE
, el valor predeterminado es NOPATH
.
TRACKEH
| NOTRACKEH
Especifican si se deben usar contadores adicionales para mantener un recuento preciso cuando se produzcan excepciones durante el entrenamiento. Use TRACKEH
para especificar contadores adicionales para un recuento exacto. Use NOTRACKEH
para especificar contadores únicos para el código que no usa el control de excepciones o que no produce excepciones en los escenarios de entrenamiento. Cuando se especifica /GENPROFILE
, el valor predeterminado es TRACKEH
. Cuando se especifica /FASTGENPROFILE
, el valor predeterminado es NOTRACKEH
.
PGD
=nombredearchivo
Especifica un nombre de archivo base para el archivo .pgd
. De forma predeterminada, el enlazador usa el nombre de archivo de imagen ejecutable base con una extensión .pgd
.
Comentarios
Las opciones /GENPROFILE
y /FASTGENPROFILE
indican al enlazador que genere el archivo de instrumentación de generación de perfiles necesario para admitir el entrenamiento de la aplicación para la optimización guiada por perfiles (PGO). Estas opciones son nuevas en Visual Studio 2015. Prefiere estas opciones a las opciones en desuso /LTCG:PGINSTRUMENT
, /PGD
, y /POGOSAFEMODE
, y a las PogoSafeMode
variables de entorno VCPROFILE_ALLOC_SCALE
y VCPROFILE_PATH
. La información de generación de perfiles creada mediante el entrenamiento de la aplicación se usa como entrada para realizar optimizaciones dirigidas de todo el programa durante las compilaciones. Se pueden establecer opciones adicionales para controlar diversas características de generación de perfiles de rendimiento durante el entrenamiento de la aplicación y las compilaciones. Las opciones predeterminadas especificadas por /GENPROFILE
proporcionan resultados más precisos, especialmente para las aplicaciones multiproceso grandes y complejas. La opción /FASTGENPROFILE
usa valores predeterminados diferentes para un menor consumo de memoria y un rendimiento más rápido durante el entrenamiento, a costa de precisión.
La información de generación de perfiles se captura cuando se ejecuta la aplicación instrumentada después de compilar mediante /GENPROFILE
de /FASTGENPROFILE
. Esta información se captura cuando se especifica la opción del enlazador /USEPROFILE
para realizar el paso de generación de perfiles y, a continuación, se usa para guiar el paso de compilación optimizado. Para obtener más información sobre cómo entrenar su aplicación según los datos recopilados, vea Optimización guiada por perfiles.
Especifique siempre /LTCG
cuando especifique /GENPROFILE
o /FASTGENPROFILE
.
Para establecer esta opción del vinculador en el entorno de desarrollo de Visual Studio
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.
Seleccione la página de propiedades Propiedades de configuración>Enlazador>Línea de comandos.
Escriba las opciones y los argumentos
/GENPROFILE
o/FASTGENPROFILE
en el cuadro Opciones adicionales. ElijaOK
guardar los cambios.
Para establecer esta opción del vinculador mediante programación
- Vea AdditionalOptions.
Consulte también
Referencia del enlazador MSVC
Opciones del enlazador MSVC
/LTCG
(Generación de código en tiempo de vínculo)