Sommaire

Checklist

Bien que l’exercice soit difficile, il nous paraissait intéressant de regrouper ci-dessous tous les "grands classiques" de mauvaise programmation en .NET du point de vue de la performance :

  • En tout premier, la non-maîtrise du contenu des boucles par le développeur. Chaque problème de performance en soi est toujours discutable, mais lorsqu’une fonction lente est appelée en boucle 10 000 fois, il n’y a pas de question à se poser : il faut ou bien diminuer son temps d’exécution ou son nombre d’appels. L’exemple typique est le service web appelé en boucle, au lieu de passer par un service web unique réalisant les opérations en un seul appel.

  • En corollaire de ceci, l’absence de mise en cache, et le recalcul systématique des valeurs qui n’évoluent pas, que ce soit dans une boucle ou lors de plusieurs appels distincts, est une source de lenteur très souvent constatée.

  • Le chargement total de données plutôt que leur parcours en mode "streamé" est souvent beaucoup plus simple en termes de code, mais cela se paie presque toujours par des performances moins bonnes. En particulier, il est important d’utiliser XmlTextReader au lieu de XmlDocument, ainsi que StreamReader et StreamWriter au lieu de File.ReadAllText et File.WriteAllText, dès lors que les volumes traités dépassent une certaine taille.

  • Les chaînes représentent souvent une part très importante ...