/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 PogoSafeModevariables 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

  1. 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.

  2. Sélectionnez la page de Propriétés de configuration>Éditeur de liens>Ligne de commande.

  3. Entrez les /GENPROFILE options et /FASTGENPROFILE arguments dans la zone Options supplémentaires. Choisissez OK d’enregistrer vos modifications.

Pour définir cette option de l'éditeur de liens par programmation

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)