Optimisation guidée par profil dans le concentrateur Performances et diagnostics

L'optimisation guidée par profil pour le plug-in Visual C++ dans les performances et le concentrateur de diagnostic rationalise l'expérience d'optimisation guidée par profil pour les développeurs.Il vous est possible de télécharger le plug-in à partir du site Web Visual Studio.

L'Optimisation guidée par profil (PGO) vous aide à créer des builds x86 et des applications x64 natives optimisées pour les utilisateurs à la manière dont ils interagissent avec eux.PGO est un processus à plusieurs étapes : Vous créez une génération d'application qui est fournie pour le profilage, puis que vous exécutez « apprentissage »—Autrement dit, vous exécutez l'application instrumentée via les scénarios courants d'interaction utilisateur.Vous enregistrez les données de profilage capturées, puis vous régénérez votre application en utilisant des résultats pour guider l'optimisation de la totalité du programme.Bien que vous puissiez exécuter ces étapes individuellement dans Visual Studio ou sur la ligne de commande, le plug-in PGO centralise et simplifie le processus.Le plug-in PGO définit les options requises, vous guide à travers chaque étape, analyse pour vous, puis utilise les résultats pour configurer la génération et optimiser chaque fonction en taille ou en vitesse.Le plug-in PGO facilite également la réexécution de votre test d'application et la mise à jour des données cible d'optimisation lorsque vous modifiez votre code.

Configuration requise

Vous devez Téléchargez le plug-in PGO et l'installer dans Visual Studio pour pouvoir l'utiliser dans les performances et le concentrateur de diagnostic.

Procédure pas-à-pas : Utilisation du plug-in PGO pour optimiser une Application

D'abord, vous créez une application de bureau de base Win32 dans Visual Studio.Si vous possédez déjà une application native que vous souhaitez optimiser, il vous est possible de l'utiliser et ignorer cette étape.

Pour créer une application

  1. Dans la barre de menus, sélectionnez Fichier, Nouveau, Projet.

  2. Dans le volet gauche de la boîte de dialogue Nouveau projet, développez Installés, Modèles, Visual C++, puis sélectionnez MFC.

  3. Dans le volet central, cliquez sur Application MFC.

  4. Spécifiez un nom pour le projet, par exemple SamplePGOProject—dans la zone Nom.Cliquez sur le bouton OK.

  5. Dans la page Vue d'ensemble de la boîte de dialogue Assistant Application MFC, choisissez le bouton Terminer .

Ensuite, définissez la configuration de build de votre application à Publier pour la préparer aux étapes de création et d'apprentissage PGO.

Pour définir la configuration de build

  1. Dans la barre de menus, choisissez Générer, puis Gestionnaire de configurations.

  2. Dans la boîte de dialogue Gestionnaire de configurations, choisissez dans la liste déroulante Configuration de la solution active, sélectionnez Version finale.Choisissez le bouton Fermer.

Ouvrez les performances et diagnostics Concentrateur- sur la barre de menus, sélectionnez Analyser, Performances et diagnostics.Cela ouvre une page de session de diagnostic qui a des outils d'analyse disponibles pour votre type de projet.

PGO dans le concentrateur des performances et des diagnostics

Dans Outils disponibles, activez la case à cocher Optimisation guidée par profil.Cliquez sur le bouton Démarrer pour démarrer le plug-in PGO.

Page d'introduction PGO

La page Optimisation guidée par profil décrit les étapes que le plug-in utilise pour améliorer les performances de votre application.Choisissez le bouton Démarrer.

Page d'instrumentation PGO

Dans la section Instrumentation, utilisez l'option L'apprentissage est initialement activé pour choisir d'inclure la phase de démarrage de votre application dans le cadre de l'apprentissage.Si cette option n'est pas activée, les données de test ne sont pas stockées dans une application instrumentée en cours de exécution tant que vous n'activez explicitement l'apprentissage.

Cliquez sur le bouton Instrument pour générer votre application avec un jeu spécial d'options du compilateur.Le compilateur insert des instructions de sonde dans le code généré.Ces instructions enregistrent les données de profilage pendant la phase de test.

Page de build instrumentée PGO

Lorsque la génération instrumentée de votre application est terminée, l'application est lancée automatiquement.

Si des erreurs ou avertissements se produisent pendant la génération, corrigez-les puis choisissez Génération de redémarrage pour redémarrer la génération instrumentée.

Lorsque votre application est lancée, il vous est possible d'utiliser des liens Commencer la configuration et Interrompre l'apprentissage dans la section Formation pour contrôler lorsque les informations de profilage sont enregistrées.Il vous est possible d'utiliser les liens Arrêter l'application et Démarrer l'application pour arrêter et redémarrer l'application.

Page de formation PGO

Pendant l'apprentissage, passez dans vos scénarios utilisateur afin d'entrer des informations de profilage dont le PGO plug-in a besoin pour optimiser le code.Lorsque vous avez terminé l'apprentissage, fermez votre application ou choisissez le lien Arrêter l'application.Cliquez sur le bouton Analyser pour démarrer l'étape d'analyse.

Lorsque l'analyse est terminée, la section Analyse affiche un rapport d'informations de profilage capturées pendant la phase d'apprentissage d'utilisateur scénario.Il vous est possible d'utiliser ce rapport pour examiner quelles fonctions votre application a appelées les et dans lesquelles elle a passé la plupart de son temps.Le plug-in PGO utilise les informations pour déterminer que l'application fonctionne pour optimiser pour la vitesse et qui pour optimiser pour la taille.Le plug-in PGO configure des optimisations de build pour créer la plus petite, la plus rapide application pour les scénarios utilisateur que vous avez enregistrés pendant l'apprentissage.

Page d'analyse PGO

Si l'apprentissage capturait les informations de profilage attendue, choisissez Enregistrer les modifications pour enregistrer les données de profil analysées dans votre projet d'optimiser des builds.Pour ignorer les données de profil et recommencez l'apprentissage à partir du début, choisissez Refaire l'apprentissage.

Le fichier de données de profil est stocké dans votre projet dans un dossier Données d'apprentissage PGO.Ces données sont utilisées pour contrôler les paramètres d'optimisation de génération du compilateur dans votre application.

Fichier de données PGO dans l'Explorateur de solutions

Après analyse, les options de plug-in Build d'ensembles PGO dans votre projet d'utiliser les données de profil pour optimiser sélectivement votre application pendant la compilation.Il vous est possible de continuer à modifier et générer votre application avec les mêmes données de profil.Lorsque l'application est générée, les états imprimés de sortie de génération le nombre de fonctions et d'instructions a été optimisé avec des données de profil.

Diagnostics de sortie PGO

Si vous apportez des modifications du code sémantiques significatives pendant le développement, il est possible que vous deviez recycler votre application pour obtenir les meilleures optimisations.Nous vous recommandons de recycler votre application lorsque les états imprimés de sortie de génération à moins de 80 % des fonctions ou instruction ont été optimisés avec des données de profil.