Règles de performance de l'utilisation du .NET Framework
Les règles de performance de l'utilisation du .NET Framework identifient des méthodes spécifiques qui peuvent être optimisées ainsi que des modèles d'utilisation plus généraux, tels que la garbage collection et le conflit de verrou, pour lesquels les problèmes de performances peuvent être étudiés.
Les appels à String.Concat(String, String) représentent une proportion significative des données de profilage.Utilisez la classe StringBuilder pour construire des chaînes à partir de plusieurs segments. |
|
Un nombre relativement élevé d'objets mémoire .NET est libéré dans le garbage collection de 2e génération.Si trop d'objets relativement éphémères subsistent de la collection de génération 1, le coût de gestion de la mémoire peut facilement devenir excessif. |
|
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. |
Les appels à la méthode GetHashCode du type représentent une proportion significative des données de profilage ou la méthode GetHashCode alloue de la mémoire.Réduisez la complexité de la méthode. |
|
La méthode CompareTo du type est coûteuse ou la méthode alloue de la mémoire.Réduisez la complexité de la méthode CompareTo. |
|
Les appels aux méthodes System.Reflection methods such as InvokeMember et GetMember ou aux méthodes Type telles que InvokeMember représentent une proportion significative des données de profilage.Lorsque cela est possible, 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 String.Split or Substring représentent une proportion significative des données de profilage.Utilisez IndexOf ou IndexOfAny si vous testez l'existence d'une sous-chaîne dans une chaîne. |
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.Considérez un nouveau profilage à l'aide de la méthode des profils de mémoire .NET et une optimisation de l'utilisation des ressources managées par l'application. |
Un nombre relativement élevé d'objets mémoire .NET est libéré dans le garbage collection de 1e génération.Si trop d'objets relativement éphémères subsistent de la collection de génération 0, le coût de gestion de la mémoire peut facilement devenir excessif. |
|
Un nombre élevé d'objets mémoire .NET est libéré dans le garbage collection de 2e génération.Si trop d'objets relativement éphémères subsistent de la collection de génération 1, le coût de gestion de la mémoire peut facilement devenir excessif.Cette règle se déclenche lorsque le taux de conflits de verrou dépasse la valeur de seuil supérieure de la règle DA0005. |
|
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. |
|
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.Cette règle se déclenche lorsque la durée de l'opération garbage collection dépasse la valeur de seuil supérieure de la règle DA0023. |
|
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. |
|
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 des conflits.Cette règle se déclenche lorsque le taux de conflits de verrou dépasse la valeur de seuil supérieure de la règle DA0038. |