Il y a quelques années, Microsoft a décidé de redéfinir radicalement la plate-forme .NET. Une version open source, multiplateforme et haute performance du framework .NET a été créée : c’est .NET Core. De plus, C#, le langage de programmation .NET le plus utilisé, a également évolué au fil des ans. Ces nouveaux développements incluent de nombreuses améliorations de performances.
L’objectif du cours est de vous donner une compréhension approfondie de ces améliorations de performances. En appliquant les connaissances de ce cours, vous serez en mesure de mesurer et d’optimiser les performances de .NET Core (y compris ASP.NET Core), des applications C#.
Après un bref récapitulatif sur . NET Core le cours vous présente le premier pilier du sujet des performances : la mesure des performances. Vous apprendrez à utiliser des outils que vous pouvez appliquer pour mesurer les performances de votre code exécuté sur .NET Core. Ensuite, nous nous concentrerons sur quelques astuces de performances importantes, telles que la réduction de la pression sur le GC en utilisant des types de valeur ou en choisissant la bonne collection pour le problème donné. Après cela, nous verrons ce que le compilateur fait dans les coulisses lorsqu’il compile votre code C# 7 et quelles en sont les implications en termes de performances. Nous parlerons de nouvelles API liées aux performances telles que ArrayPool et Span et nous examinerons également les aspects de performance d’Entity Framework Core. Nous parlerons de l’histoire de la compilation à l’avance pour .NET avec CrossGen et le rognage IL avec le .NET IL Linker. Nous terminerons le cours en découvrant la surveillance des performances de production pour .NET Core.
Objectif du cours
- Comprendre pourquoi .NET Core et ASP.NET Core sont d’excellentes plates-formes pour créer des applications hautes performances
- En savoir plus sur outils qui peuvent mesurer les performances de votre code .NET Core : Outils de performance Visual Studio, BenchmarkDotNet, MiniProfiler, Stackify Prefix, LTTng et Perf sur Linux, ETW et PerfView
- Comprendre les dernières fonctionnalités linguistiques de C# et comment ils affectent les performances
- Outils avancés pour améliorer les performances de vos applications .NET Core et ASP.NET Core : Span<T>, ArrayPool<T>, ASP.NET Core Precompiled Views, Entity Framework Core performance, .NET IL Linker, compilation AOT avec CrossGen.
- Surveillance des performances en production pour .NET Core et ASP.NET Core : Application Insights et Dynatrace
Style du cours
Le cours est un mélange de Théorie et pratique. Les outils et concepts avec leur contexte théorique seront introduits avec des diapositives, puis les connaissances théoriques seront appliquées dans des démonstrations.