/GENPROFILE
, /FASTGENPROFILE
(Générer une build instrumentée de profilage)
Spécifie la génération d’un .pgd
fichier par l’éditeur de liens pour prendre en charge l’optimisation guidée par profil (PGO). /GENPROFILE
et /FASTGENPROFILE
utiliser différents paramètres par défaut. Permet /GENPROFILE
de favoriser la précision par rapport à la vitesse et à l’utilisation de la mémoire pendant le profilage. Utilisez cette méthode /FASTGENPROFILE
pour favoriser une utilisation et une vitesse de mémoire plus petites que la précision.
Syntaxe
/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=
nom_fichier
Arguments
L’un des profile-argument
arguments peut être spécifié à /GENPROFILE
ou /FASTGENPROFILE
. Les arguments répertoriés ici séparés par un caractère de canal (|
) s’excluent mutuellement. Utilisez un caractère de virgule (,
) pour séparer les arguments. Ne placez pas d’espaces entre les arguments, les virgules ou après le signe deux-points (:
).
COUNTER32
| COUNTER64
Permet COUNTER32
de spécifier l’utilisation de compteurs de sonde 32 bits et COUNTER64
de spécifier des compteurs de sonde 64 bits. Lorsque vous spécifiez /GENPROFILE
, la valeur par défaut est COUNTER64
. Lorsque vous spécifiez /FASTGENPROFILE
, la valeur par défaut est COUNTER32
.
EXACT
| NOEXACT
Permet EXACT
de spécifier des incréments interlockés thread-safe pour les sondes. NOEXACT
spécifie les opérations d’incrément non protégées pour les sondes. Par défaut, il s’agit de NOEXACT
.
MEMMAX
=valeur, MEMMIN
=valeur
Utilisez MEMMAX
et MEMMIN
spécifiez les tailles de réservation maximale et minimale pour les données d’apprentissage en mémoire. La valeur est la quantité de mémoire à réserver en octets. Par défaut, ces valeurs sont déterminées par une méthode heuristique interne.
PATH
| NOPATH
Permet PATH
de spécifier un ensemble distinct de compteurs PGO pour chaque chemin d’accès unique à une fonction. Permet NOPATH
de spécifier un seul ensemble de compteurs pour chaque fonction. Lorsque vous spécifiez /GENPROFILE
, la valeur par défaut est PATH
. Lorsque vous spécifiez /FASTGENPROFILE
, la valeur par défaut est NOPATH
.
TRACKEH
| NOTRACKEH
Spécifie s’il faut utiliser des compteurs supplémentaires pour conserver un décompte précis quand des exceptions sont levées au cours de l’apprentissage. Permet TRACKEH
de spécifier des compteurs supplémentaires pour un nombre exact. Permet NOTRACKEH
de spécifier des compteurs uniques pour le code qui n’utilise pas la gestion des exceptions ou qui ne s’exécutent pas dans des exceptions dans vos scénarios d’entraînement. Lorsque vous spécifiez /GENPROFILE
, la valeur par défaut est TRACKEH
. Lorsque vous spécifiez /FASTGENPROFILE
, la valeur par défaut est NOTRACKEH
.
PGD
=nom_fichier
Spécifie un nom de fichier de base pour le .pgd
fichier. Par défaut, l’éditeur de liens utilise le nom de fichier image exécutable de base avec une .pgd
extension.
Notes
Les /GENPROFILE
options et /FASTGENPROFILE
indiquent à l’éditeur de liens de générer le fichier d’instrumentation de profilage nécessaire pour prendre en charge la formation des applications pour l’optimisation guidée par profil (PGO). Ces options sont nouvelles dans Visual Studio 2015. Préférez ces options aux variables d’environnement, et déconseillées/LTCG:PGINSTRUMENT
/PGD
, et aux PogoSafeMode
variables d’environnementVCPROFILE_ALLOC_SCALE
.VCPROFILE_PATH
/POGOSAFEMODE
Les informations de profilage générées par l’apprentissage de l’application sont utilisées comme entrée pour les optimisations ciblées du programme entier pendant les builds. Vous pouvez également définir d’autres options pour contrôler différentes fonctionnalités de profilage pour les performances pendant l’entraînement et les builds des applications. Les options par défaut spécifiées en /GENPROFILE
donnent les résultats les plus précis, en particulier pour les applications multithreads volumineuses et complexes. L’option /FASTGENPROFILE
utilise des valeurs par défaut différentes pour une empreinte mémoire inférieure et des performances plus rapides pendant l’entraînement, au détriment de la précision.
Les informations de profilage sont capturées lorsque vous exécutez l’application instrumentée après la génération à l’aide /GENPROFILE
de /FASTGENPROFILE
. Ces informations sont capturées lorsque vous spécifiez l’option /USEPROFILE
éditeur de liens pour effectuer l’étape de profilage, puis utilisées pour guider l’étape de génération optimisée. Pour plus d’informations sur l’apprentissage de votre application et des détails sur les données collectées, consultez optimisations guidées par profil.
Spécifiez toujours quand vous spécifiez /LTCG
/GENPROFILE
ou /FASTGENPROFILE
.
Pour définir cette option de l'éditeur de liens dans l'environnement de développement Visual Studio
Ouvrez la boîte de dialogue Pages de propriété du projet. Pour plus d’informations, consultez Définir le compilateur C++ et les propriétés de build dans Visual Studio.
Sélectionnez la page de Propriétés de configuration>Éditeur de liens>Ligne de commande.
Entrez les
/GENPROFILE
options et/FASTGENPROFILE
arguments dans la zone Options supplémentaires. ChoisissezOK
d’enregistrer vos modifications.
Pour définir cette option de l'éditeur de liens par programmation
- Consultez AdditionalOptions.
Voir aussi
Informations de référence sur l’éditeur de liens MSVC
Options de l’éditeur de liens MSVC
/LTCG
(Génération de code au moment du lien)