Partager via


/POGOSAFEMODE (Exécuter PGO en mode sans échec de thread)

L’option /POGOSAFEMODE est déconseillée à partir de Visual Studio 2015. Utilisez les options /GENPROFILE :EXACT et /GENPROFILE :NOEXACT à la place. L’option de l’éditeur de liens /POGOSAFEMODE spécifie que la build instrumentée est créée pour utiliser le mode thread-safe pour la capture de données de profil pendant les exécutions d’entraînement d’optimisation guidée par profil (PGO).

Syntaxe

/POGOSAFEMODE

Notes

L’optimisation guidée par profil (PGO) a deux modes possibles pendant la phase de profilage : le mode rapide et le mode sans échec. Lorsque le profilage est en mode rapide, il utilise une instruction d’incrément pour augmenter les compteurs de données. L’instruction d’incrémentation est plus rapide, mais n’est pas thread-safe. Lorsque le profilage est en mode sans échec, il utilise l’instruction d’incrémentation verrouillée pour augmenter les compteurs de données. Cette instruction a la même fonctionnalité que l’instruction d’incrémentation et est thread-safe, mais elle est plus lente.

L’option /POGOSAFEMODE définit la build instrumentée pour utiliser le mode sans échec. Cette option ne peut être utilisée que lorsque le /LTCG :PGINSTRUMENT déprécié est spécifié, pendant la phase de l’éditeur de liens d’instrumentation PGO.

Par défaut, le profilage PGO fonctionne en mode rapide. /POGOSAFEMODE est obligatoire uniquement si vous souhaitez utiliser le mode sans échec.

Pour exécuter le profilage PGO en mode sans échec, vous devez utiliser /GENPROFILE :EXACT (préféré) ou utiliser la variable d’environnement PogoSafeMode ou le commutateur de l’éditeur de liens /POGOSAFEMODE, selon le système. Si vous effectuez le profilage sur un ordinateur x64, vous devez utiliser le commutateur éditeur de liens. Si vous effectuez le profilage sur un ordinateur x86, vous pouvez utiliser le commutateur de l’éditeur de liens ou définir la variable d’environnement sur n’importe quelle valeur avant de démarrer le processus d’instrumentation PGO.

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 d’optimisation de l’éditeur >de liens>de configuration.

  3. Dans la propriété Génération du code de temps de liaison, choisissez Optimisation guidée du profil - Instrument (/LTCG :PGInstrument).

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

  5. Entrez l’option /POGOSAFEMODE dans la zone Options supplémentaires. Sélectionnez OK pour enregistrer vos modifications.

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

Voir aussi

/GENPROFILE et /FASTGENPROFILE
/LTCG
Optimisations guidées par profil
Variables d’environnement pour les optimisations guidées par profil