Performances .NET Framework

Si vous voulez créer des applications dotées de hautes performances, vous devez concevoir et planifier les performances comme vous concevez n'importe quelle autre fonctionnalité de votre application. Vous pouvez utiliser les outils fournis par Microsoft pour mesurer les performances de votre application et, si nécessaire, apporter des améliorations à l'utilisation de la mémoire, au débit de code et à la réactivité. Cette rubrique répertorie les outils d'analyse de performance fournis par Microsoft et fournit des liens vers d'autres rubriques qui couvrent les performances dans des domaines spécifiques du développement d'applications.

Conception et planification des performances

Pour créer une application présentant d’excellentes performances, vous devez concevoir les performances dans votre application comme si vous conceviez n’importe quelle autre fonctionnalité. Vous devez déterminer les scénarios où les performances sont essentielles, définir des objectifs de performances et mesurer régulièrement les performances dans ces scénarios d'application. Comme chaque application est différente et possède différents chemins d'exécution aux performances critiques, le fait de déterminer précocement ces chemins et de concentrer vos efforts vous permet de maximiser votre productivité.

Il n'est pas nécessaire que votre plateforme cible vous soit complètement familière pour créer une application à hautes performances. Toutefois, vous devez chercher à comprendre quelles parties de votre plateforme cible sont coûteuses en termes de performances. Pour cela, vous pouvez mesurer les performances tôt dans votre processus de développement.

Pour déterminer les domaines essentiels pour les performances et pour établir vos objectifs de performances, prenez toujours en compte l'expérience utilisateur. Le temps de démarrage et la réactivité sont deux domaines clés qui affectent la perception qu'a l'utilisateur de votre application. Si votre application utilise beaucoup de mémoire, elle peut sembler lente à l'utilisateur ou affecter d'autres applications qui s'exécutent sur le système, ou, dans certains cas, elle peut échouer au test de soumission du Windows Store ou du Windows Phone Store. De plus, si vous déterminez quelles parties de votre code s'exécutent le plus fréquemment, vous pouvez veiller à l'optimisation de ces parties de code.

Analyse des performances

Dans le cadre de votre plan de développement global, définissez des points durant le développement où mesurer les performances de votre application et comparer les résultats aux objectifs que vous avez définis précédemment. Mesurez votre application dans l'environnement et avec le matériel que posséderont selon vous les utilisateurs. En analysant les performances de votre application tôt et régulièrement, vous pouvez changer les décisions architecturales qui seraient coûteuses à corriger ultérieurement dans le cycle de développement. Les sections suivantes décrivent les outils de performance que vous pouvez utiliser pour analyser vos applications et traitent du suivi d'événements, qui est utilisé par ces outils.

Outils d'analyse des performances

Voici certains outils de performance que vous pouvez utiliser avec vos applications .NET Framework.

Outil Description
Analyse des performances Visual Studio Utilisez cet outil pour analyser l'utilisation de l'UC de vos applications .NET Framework qui seront déployées sur des ordinateurs exécutant le système d'exploitation Windows.

Vous trouverez cet outil dans le menu Débogage de Visual Studio après avoir ouvert votre projet. Pour plus d’informations, consultez Explorateur de performances. Remarque : Utilisez l’analyse de l’application Windows Phone (voir ligne suivante) quand vous ciblez Windows Phone.
Analyse de l'application Windows Phone Utilisez cet outil pour analyser l'UC et la mémoire, le taux de transfert des données réseau, la réactivité de l'application et la consommation de la batterie dans vos applications Windows Phone.

Vous trouverez cet outil dans le menu Débogage de votre projet Windows Phone dans Visual Studio après avoir installé Windows Phone SDK. Pour plus d’informations, consultez Profilage d’applications pour Windows Phone 8.
PerfView Utilisez ces outils pour identifier des problèmes de performances liés à l'UC et à la mémoire. Cet outil utilise le suivi d’événements pour Windows et des API de profilage du CLR pour assurer des investigations avancées de la mémoire et de l’UC, et pour fournir des informations sur le garbage collection et la compilation JIT. Pour plus d’informations sur l’utilisation de PerfView, consultez les billets de blog.

Pour plus d’informations sur les problèmes de mémoire, consultez le didacticiel sur l’utilisation de PerfView pour l’examen de la mémoire.
Windows Performance Analyzer Utilisez cet outil pour déterminer les performances globales du système telles que l'utilisation de la mémoire et du stockage par votre application quand plusieurs applications s'exécutent sur le même ordinateur. Cet outil est disponible à partir du centre de téléchargement dans le cadre du Kit de déploiement et d’évaluation Windows (Windows ADK) pour Windows 8. Pour plus d’informations, consultez Windows Performance Analyzer.

Suivi d'événements pour Windows (ETW)

Le suivi d'événements pour Windows est une technique qui vous permet d'obtenir des informations de diagnostic sur le code en cours d'exécution et qui est essentielle pour un grand nombre des outils de performance mentionnés précédemment. Il crée des journaux lorsque des événements particuliers sont déclenchés par des applications .NET Framework et par Windows. Le suivi d'événements pour Windows vous permet d'activer et désactiver la journalisation de façon dynamique, et vous pouvez effectuer un traçage détaillé dans un environnement de production sans redémarrer votre application. .NET Framework propose la prise en charge des événements ETW, et le suivi d'événements pour Windows est utilisé par de nombreux outils de profilage et de performance pour générer des données de performance. Ces outils activent et désactivent souvent des événements ETW et il est utile de se familiariser avec eux. Vous pouvez utiliser des événements ETW spécifiques pour collecter des informations de performance sur des composants particuliers de votre application. Pour plus d’informations sur la prise en charge du suivi d’événements pour Windows (ETW) dans .NET Framework, consultez Événements ETW dans le Common Language Runtime et Événements ETW dans la bibliothèque parallèle de tâches et PLINQ.

Performances par type d'application

Chaque type d'application .NET Framework possède ses propres pratiques recommandées, considérations et outils pour évaluer les performances. Le tableau ci-dessous propose des liens vers des rubriques liées aux performances pour des types d'applications .NET Framework spécifiques.

Type d’application Consultez
Applications .NET Framework pour toutes les plateformes Garbage Collection et performances

Conseils sur les performances
Windows 8.x Store applications écrites en C++, C# et Visual Basic Bonnes pratiques pour les performances des applications du Windows Store en C++, C# et Visual Basic
Windows Presentation Foundation (WPF) WPF Performance Suite
ASP.NET Vue d’ensemble des performances ASP.NET
Titre Description
Mise en cache dans les applications .NET Framework Décrit des techniques de mise en cache des données pour améliorer les performances dans votre application.
Initialisation tardive Décrit comment initialiser des objets selon vos besoins pour améliorer les performances, notamment au démarrage de l'application.
Fiabilité Fournit des informations sur la manière d'éviter les exceptions asynchrones dans un environnement serveur.
Conception d'applications .NET Framework complexes et réactives Fournit des conseils liés aux performances, rassemblés lors de la réécriture des compilateurs C# et Visual Basic en code managé, et inclut plusieurs exemples réels issus du compilateur C#.