Règles de performance par ID

Avertissement

Description

DA0001 : Utilisez StringBuilder pour les concaténations

Les appels à System.String.Concat représentent une proportion significative des données de profilage.Utilisez la classe StringBuilder pour construire des chaînes à partir de plusieurs segments.

DA0002 : VSPerfCorProf.dll manquant

Le profileur n'a pas trouvé VSPerfCorProf.dll lors de l'exécution du profilage.Cet avertissement se produit lorsque les outils en ligne de commande pour la collection de données du profileur sont utilisés sans l'outil VSPerfCLREnv.cmd pour initialiser les variables d'environnement nécessaires.

DA0003 : Nombreux échantillons de noyau

Une proportion significative des exemples de pile d'appels collectés pour l'application s'exécutait en mode noyau.Envisagez de profiler votre application à l'aide d'une autre méthode de profilage.

DA0004 : Utilisation intensive du processeur

L'utilisation de processeur (UC) était considérablement élevée dans les données de profilage collectées à l'aide de la méthode d'instrumentation.Utilisez la méthode de profilage d'échantillonnage lors du profilage d'une application liée à l'UC.

DA0005 : Collections GC2 fréquentes

Un nombre élevé d'objets mémoire .NET est libéré dans le garbage collection de 2e génération.

DA0006 : Remplacer Equals() pour les types valeur

Les appels à la méthode Equals ou les opérateurs d'égalité d'un type valeur public représentent une proportion significative des données de profilage.Envisagez d'implémenter une méthode plus efficace.

DA0007 : Ne pas utiliser d'exceptions pour le flux de contrôle

Un taux élevé de gestionnaires d'exceptions .NET Framework a été appelé dans les données de profilage.Utilisez une autre logique de flux de contrôle pour réduire le nombre d'exceptions levées.

DA0008 : Peu d'échantillons collectés

Uniquement quelques échantillons ont été collectés dans l'exécution du profilage.Augmentez la durée d'exécution ou utilisez un taux d'échantillonnage plus rapide pour des résultats plus significatifs.

DA0009: High % time in JIT

Un pourcentage significatif du temps d'exécution de l'application s'est déroulé dans le compilateur Just In Time (JIT)

DA0010 : GetHashCode coûteux

Les appels à la méthode GetHashCode du type représentent une proportion significative des données de profilage ou la méthode alloue de la mémoire.

DA0011 : CompareTo coûteux

La méthode CompareTo du type est coûteuse ou alloue de la mémoire.

DA0012 : Quantité importante de réflexion

Les appels aux méthodes System.Reflection telles que InvokeMember et GetMember ou aux méthodes Type telles que MemberInvoke représentent une proportion significative des données de profilage.Lorsque vous le pouvez, envisagez de remplacer ces méthodes par une liaison anticipée aux méthodes d'assemblys dépendants.

DA0013 : Utilisation intensive de String.Split/String.Substring

Les appels aux méthodes System.String.Split ou System.String.Substring représentent une partie significative des données de profilage.Utilisez System.String.IndexOf ou System.String.IndexOfAny si vous testez l'existence d'une sous-chaîne dans une chaîne.

DA0014 : Taux élevés de pagination de la mémoire active sur le disque

Les données des performances système collectées dans l'exécution du profilage indiquent qu'un taux extrêmement élevé de mémoire active de pagination vers le disque et à partir du disque a été relevé dans toute l'exécution du profilage.Les taux de pagination à ce niveau auront généralement un impact sur les performances et la réactivité de l'application.Envisagez de réduire les allocations de mémoire en modifiant les algorithmes.Il vous faudra peut-être également prendre en compte les besoins en mémoire de votre application.Exécutez à nouveau le profilage sur un ordinateur avec plus de mémoire.

DA0017 : taux élevés de pagination de la mémoire active sur le disque

Les données des performances système collectées dans l'exécution du profilage indiquent qu'un taux élevé de mémoire active de pagination vers le disque et à partir du disque a été relevé dans toute l'exécution du profilage.Les taux de pagination à ce niveau auront généralement un impact sur les performances et la réactivité de l'application.Envisagez de réduire les allocations de mémoire en modifiant les algorithmes.Il vous faudra peut-être également prendre en compte les besoins en mémoire de votre application.Exécutez à nouveau le profilage sur un ordinateur avec plus de mémoire.

DA0018 : application 32 bits s'exécutant aux limites de la mémoire managée du processus

Les données système collectées pendant l'exécution du profilage indiquent que les tas de mémoire .NET Framework ont approché de la taille maximale autorisée pour les tas managés dans un processus 32 bits.La valeur signalée représente la valeur maximale observée des tas pendant que le processus profilé était actif.Envisagez d'optimiser l'utilisation de ressources managées par l'application.

DA0021 : Taux élevé de garbage collection Gen 1

Les données des performances système collectées pendant le profilage indiquent qu'une proportion significative de mémoire pour les objets .NET Framework a été libérée pendant la génération 1 du garbage collection comparée à la collecte de données de la génération 0.

DA0022 : taux élevé de garbage collection Gen 2

Les données des performances système collectées pendant le profilage indiquent qu'une proportion significative de mémoire pour les objets .NET Framework a été libérée pendant la génération 2 du garbage collection comparée à la garbage collection de la génération 1.

DA0023 : temps processeur GC élevé

Les données des performances système collectées pendant le profilage indiquent que le temps passé dans le garbage collection est significatif comparé au temps total de traitement de l'application.

DA0024 : temps processeur GC excessif

Les données des performances système collectées pendant le profilage indiquent que le temps passé dans le garbage collection est excessivement élevé comparé au temps total de traitement de l'application.

DA0026 : traitement du temps processeur noyau excessif

Le temps CPU de proportion exécuté en mode noyau a dépassé le temps passé en mode utilisateur.Envisagez un autre profilage et l'échantillonnage du nombre d'appels système (syscalls) pour identifier la cause des temps d’exécution en mode noyau élevés.

DA0029 : version CLR non prise en charge

Vous essayez de profiler une application qui utilise le .NET Framework version 1.1 qui n'est pas pris en charge par les outils de profilage.

DA0030 : collecter les mesures d'interaction de couche pour les projets de base de données

Les appels à des méthodes System.Data représentent une proportion significative des données de profilage et vous n'avez pas collecté de données sur l'interaction de couche durant l'exécution du profilage.Envisagez un autre profilage et l'ajout de données sur l'interaction de couche.

DA0038 : taux élevé de conflits de verrouillage

Les données des performances système collectées avec les données de profilage indiquent qu'un taux considérablement élevé de conflits de verrouillage a été relevé pendant l'exécution de l'application.Envisagez un autre profilage à l'aide de la méthode de profilage d'accès concurrentiel pour découvrir la cause des conflits.

DA0039 : taux très élevé de conflits de verrouillage

Les données des performances système collectées avec les données de profilage indiquent qu'un taux excessivement élevé de conflits de verrouillage a été relevé pendant l'exécution de l'application.Envisagez un autre profilage à l'aide de la méthode de profilage d'accès concurrentiel pour découvrir la cause du conflit.

DA0501 : consommation processeur moyenne par le processus en cours de profilage.

Ce message signale le pourcentage de temps pendant lequel un processeur était occupé à exécuter des instructions à partir de l'application.La valeur signalée est la moyenne de tous les intervalles de mesure dans lesquels le processus profilé était actif.La valeur peut être supérieure à 100 % sur un ordinateur doté de plusieurs processeurs.

DA0502 : consommation processeur maximale par le processus en cours de profilage

Ce message signale le pourcentage maximal de temps pendant lequel un processeur était occupé à exécuter des instructions à partir de l'application.La valeur signalée est la valeur maximale de tous les intervalles de mesure dans lesquels le processus profilé était actif.Le pourcentage peut être supérieur à 100 % sur un ordinateur doté de plusieurs processeurs.

DA0503 : jeu de travail moyen, en octets, pour le processus en cours de profilage

Ce message signale la quantité moyenne de mémoire physique que le processus utilise actuellement en octets (jeu de travail).La plage de travail du processus représente des pages de l'espace d'adressage du processus qui résident actuellement dans la mémoire physique.

DA0504 : jeu de travail maximal, en octets, pour le processus en cours de profilage

Ce message signale la quantité maximale de mémoire physique que le processus utilise actuellement en octets.La plage de travail du processus représente des pages de l'espace d'adressage du processus qui résident actuellement dans la mémoire physique.Cette règle signale la valeur maximale pour le jeu de travail du processus lorsque le profilage était actif.

DA0505 : nombre moyen d'octets privés alloués pour le processus en cours de profilage

Ce message signale la quantité moyenne de mémoire virtuelle actuellement allouée en octets par le processus (octets privés).Octets privés représente les emplacements de mémoire virtuelle alloués par le processus et accessibles uniquement par les threads en cours d'exécution dans le processus.

DA0506 : nombre maximal d'octets privés alloués pour le processus en cours de profilage

Ce message signale la quantité maximale de mémoire virtuelle actuellement allouée en octets par le processus (octets privés).Octets privés représente les emplacements de mémoire virtuelle alloués par le processus et accessibles uniquement par les threads en cours d'exécution dans le processus.