Référence : Vues windows Analyseur de performances
Les outils de génération C++ Recommandations sont disponibles dans Visual Studio 2019 et versions ultérieures. Pour afficher la documentation de cette version, définissez le contrôle de sélecteur de version Visual Studio pour cet article sur Visual Studio 2019 ou version ultérieure. Il se trouve en haut de la table des matières de cette page.
Cet article fournit des détails sur chacune des vues de build C++ Recommandations disponibles dans Windows Analyseur de performances (WPA). Utilisez cette page pour rechercher :
- descriptions des colonnes de données ; Et
- présélections disponibles pour chaque affichage, y compris leur utilisation prévue et le mode d’affichage préféré.
Si vous débutez avec WPA, nous vous recommandons de vous familiariser avec les principes de base de WPA pour C++ Build Recommandations.
Explorateur de builds
La vue Explorateur de builds est utilisée pour :
- diagnostiquer les problèmes de parallélisme,
- déterminer si votre temps de génération est dominé par l’analyse, la génération de code ou la liaison, et
- identifier les goulots d’étranglement et les activités de génération inhabituellement longues.
Afficher les colonnes de données de l’Explorateur de build
Nom de la colonne | Description |
---|---|
BuildTimelineDescription | Description textuelle de l’chronologie l’activité ou de la propriété en cours se produit. |
BuildTimelineId | Identificateur de base zéro pour le chronologie l’activité ou la propriété actuelle se produit. |
Composant | Composant compilé ou lié lorsque l’événement actuel a été émis. La valeur de cette colonne est <Invocation X Info> lorsqu’aucun composant n’est associé à cet événement. X est un identificateur numérique unique pour l’appel en cours d’exécution au moment de l’émission de l’événement. Cet identificateur est identique à celui de la colonne InvocationId pour cet événement. |
Count | Nombre d’activités ou de propriétés représentées par cette ligne de données. Cette valeur est toujours 1 et n’est utile que dans les scénarios d’agrégation lorsque plusieurs lignes sont regroupées. |
ExclusiveCPUTime | Durée du processeur en millisecondes utilisée par cette activité. Le temps passé dans les activités enfants n’est pas inclus dans ce montant. |
ExclusiveDuration | Durée de la milliseconde de l’activité. La durée des activités enfants n’est pas incluse dans ce montant. |
InclusiveCPUTime | Durée du processeur en millisecondes utilisée par cette activité et toutes les activités enfants. |
InclusiveDuration | Durée de la milliseconde de cette activité, y compris toutes les activités enfants. |
InvocationDescription | Description textuelle de l’appel dans lequel cet événement s’est produit. La description inclut s’il s’agissait de cl.exe ou link.exe et d’un identificateur d’appel numérique unique. Le cas échéant, il inclut le chemin complet du composant compilé ou lié pendant l’appel. Pour les appels qui ne créent aucun composant ou pour ceux qui créent plusieurs composants, le chemin d’accès est vide. L’identificateur d’appel est identique à celui de la colonne InvocationId. |
InvocationId | Identificateur numérique unique pour l’appel dans lequel cet événement s’est produit. |
Nom | Nom de l’activité ou de la propriété représentée par cet événement. |
Time | Horodatage qui identifie le moment où l’événement s’est produit. |
Outil | Outil en cours d’exécution lorsque cet événement s’est produit. La valeur de cette colonne est CL ou Link. |
Type | Type de l’événement actuel. Cette valeur est l’activité ou la propriété. |
Value | Si l’événement actuel est une propriété, cette colonne contient sa valeur. Cette colonne est laissée vide lorsque l’événement actuel est une activité. |
Préréglages de l’Explorateur de builds
Nom du préréglage | Mode d’affichage préféré | Utilisation |
---|---|---|
Statistiques d’activité | Graphique / Tableau | Utilisez cette présélection pour afficher les statistiques agrégées pour toutes les activités de l’Explorateur de builds. En mode table, indiquez en un clin d’œil si votre build est dominée par l’analyse, la génération de code ou l’éditeur de liens. Les durées agrégées pour chaque activité sont triées dans l’ordre décroissant. Explorez en développant le nœud supérieur pour trouver facilement les appels qui prennent le plus de temps pour ces activités principales. Si vous le souhaitez, vous pouvez ajuster les paramètres WPA pour afficher des moyennes ou d’autres types d’agrégations. En mode graphique, consultez quand chaque activité est active pendant votre build. |
Appels | Graphique | Faites défiler vers le bas une liste d’appels dans l’affichage graphique trié par heure de début. Vous pouvez l’utiliser avec la vue UC (Sampled) pour rechercher des appels qui s’alignent sur des zones d’utilisation faible du processeur. Détecter les problèmes de parallélisme. |
Propriétés d’appel | Table | Recherchez rapidement des informations clés sur un appel de compilateur ou d’éditeur de liens donné. Déterminez sa version, son répertoire de travail ou la ligne de commande complète utilisée pour l’appeler. |
Chronologies | Graphique | Consultez un graphique à barres de la façon dont votre build a été parallélisée. Identifiez les problèmes de parallélisme et les goulots d’étranglement en un clin d’œil. Configurez WPA pour attribuer différentes significations aux barres en fonction de vos besoins. Choisissez les descriptions d’appel comme dernière colonne groupée pour afficher un graphique à barres codées en couleur de tous vos appels. Il vous aide à identifier rapidement les coupables fastidieux. Ensuite, effectuez un zoom avant et choisissez le nom de l’activité comme dernière colonne groupée pour afficher les parties les plus longues. |
Fichiers
La vue Fichiers est utilisée pour :
- déterminer quels en-têtes sont inclus le plus souvent, et
- vous aider à déterminer ce qu’il faut inclure dans un en-tête précompilé (PCH).
Colonnes de données d’affichage de fichiers
Nom de la colonne | Description |
---|---|
ActivityName | Activité en cours lorsque cet événement de fichier a été émis. Actuellement, cette valeur est toujours analysée. |
BuildTimelineDescription | * |
BuildTimelineId | * |
Composant | * |
Count | * |
Profondeur | Position de base zéro dans l’arborescence include dans laquelle ce fichier est trouvé. Le comptage commence à la racine de l’arborescence include. La valeur 0 correspond généralement à un fichier .c/.cpp. |
ExclusiveDuration | * |
IncludedBy | Chemin d’accès complet du fichier qui incluait le fichier actif. |
IncludedPath | Chemin d’accès complet du fichier actif. |
InclusiveDuration | * |
InvocationId | * |
StartTime | Horodatage qui représente l’heure à laquelle l’événement de fichier actuel a été émis. |
Outil | * |
* La valeur de cette colonne est la même que dans la vue Explorateur de builds.
Présélections d’affichage de fichiers
Nom du préréglage | Mode d’affichage préféré | Utilisation |
---|---|---|
Statistiques | Table | Consultez les fichiers ayant le temps d’analyse agrégé le plus élevé en examinant la liste dans l’ordre décroissant. Utilisez ces informations pour vous aider à restructurer vos en-têtes ou à décider de ce qu’il faut inclure dans votre PCH. |
Functions
La vue Functions permet d’identifier les fonctions avec un temps de génération de code excessivement long.
Fonctions affichent les colonnes de données
Nom de la colonne | Description |
---|---|
ActivityName | Activité en cours lorsque cet événement de fonction a été émis. Actuellement, cette valeur est toujours CodeGeneration. |
BuildTimelineDescription | * |
BuildTimelineId | * |
Composant | * |
Count | * |
Durée | Durée de l’activité de génération de code pour cette fonction. |
FunctionName | Nom de la fonction qui subit la génération de code. |
InvocationId | * |
StartTime | Horodatage qui représente le moment où l’événement de fonction actuel a été émis. |
Outil | * |
* La valeur de cette colonne est la même que dans la vue Explorateur de builds.
Préréglages de la vue Functions
Nom du préréglage | Mode d’affichage préféré | Utilisation |
---|---|---|
Statistiques | Table | Découvrez quelles fonctions ont le temps de génération de code agrégé le plus élevé en examinant la liste dans l’ordre décroissant. Ils peuvent indiquer où votre code surutilise le __forceinline mot clé, ou que certaines fonctions peuvent être trop volumineuses. |
Chronologies | Graphique | Examinez ce graphique à barres pour découvrir l’emplacement et la durée des fonctions qui prennent le plus de temps à générer. Vérifiez s’ils s’alignent sur les goulots d’étranglement dans la vue Explorateur de builds. Si c’est le cas, prenez les mesures appropriées pour réduire leur temps de génération de code et bénéficier de vos temps de génération de build. |
Voir aussi
Prise en main du Recommandations de build C++
Référence : commandes vcperf
Tutoriel : Concepts de base de Windows Analyseur de performances
Windows Performance Analyzer