Partager via


Conseils relatifs aux performances .NET

 

Le terme performance désigne généralement la vitesse d'exécution d'un programme.Vous pouvez parfois accroître cette vitesse d'exécution en suivant certaines règles élémentaires dans votre code source.Dans certains programmes, il est primordial d'examiner avec soin le code et d'utiliser des profileurs pour s'assurer que l'exécution de ce code est aussi rapide que possible.Dans d'autres programmes, cette optimisation n'est pas nécessaire puisque l'exécution du code est tout aussi acceptable que la qualité de son écriture.Cet article répertorie quelques zones courantes où les performances peuvent souffrir et des conseils pour les améliorer, ainsi que des liens vers des rubriques de performances supplémentaires.Pour plus d'informations sur la planification et l'évaluation des performances, consultez .NET Framework Performance

Conversion boxing et unboxing

Il vaut mieux éviter d'utiliser des types valeur dans les cas où ils doivent faire l'objet de nombreuses opérations de boxing, par exemple dans les classes de collections non génériques comme System.Collections.ArrayList.Vous pouvez éviter le boxing des types valeur en utilisant des collections génériques comme System.Collections.Generic.List<T>.Le boxing et l'unboxing sont des processus très onéreux en calcul.Lorsqu'un type valeur est converti (boxed), un objet entièrement nouveau doit être créé.Cette opération peut être 20 fois plus longue qu'une simple assignation de référence.Lors de l'unboxing, le processus de casting peut prendre jusqu'à quatre fois le temps d'une assignation.Pour plus d'informations, consultez Conversion boxing et unboxing.

Chaînes

Lorsque vous concaténez un grand nombre de variables chaîne, par exemple dans une boucle serrée, utilisez System.Text.StringBuilder au lieu de l'opérateur + C# ou des opérateurs de concaténation Visual Basic.Pour plus d’informations, consultez Comment : concaténer plusieurs chaînes (Guide de programmation C#) et Concatenation Operators in Visual Basic.

Destructeurs

Les destructeurs vides ne doivent pas être utilisés.Lorsqu'une classe contient un destructeur, une entrée est créée dans la file d'attente Finalize.Lorsque le destructeur est appelé, le garbage collector est appelé pour traiter la file d'attente.Si le destructeur est vide, cela se solde simplement par une perte de performance.Pour plus d’informations, consultez Destructeurs (Guide de programmation C#) et Object Lifetime: How Objects Are Created and Destroyed (Visual Basic).

Autres ressources

Voir aussi

.NET Framework Performance
Concepts de programmation
Visual Basic Programming Guide
Guide de programmation C#