« Bienvenue à .NET 6. La version d'aujourd'hui est le résultat d'un peu plus d'un an d'efforts de la part de l'équipe .NET et de la communauté. .NET 6 est la première version qui prend en charge de manière native les processeurs Apple Silicon (Arm64) et a également été améliorée pour Windows Arm64 », a déclaré Richard Lander, responsable de programme au sein de l'équipe .NET Core. Suite à des tests de comparaison entre .NET 6 et .NET 5, Alex Yakunin conclut que :
- les tests de mise en cache et de boucles serrées serraient jusqu'à 30 % plus rapide avec .NET 6 ;
- l’ajout du cache de Fusion à une API web ordinaire, obtient une accélération de 15 % avec .NET 6 ;
- le test du pipeline HTTP "classique" (HttpClient frappant un contrôleur ASP.NET Core qui héberge un service EF Core de type CRUD) obtient une accélération d'environ 4,5 %.
Il y a un an, Alex Yakunin a écrit un article comparant les performances de .NET 5 avec celles de son prédécesseur sur les tests de performance de Fusion, les résultats sur les améliorations de performances de .NET 5 étaient simplement impressionnants. Cette année, il conclut que .NET 6 est vraiment le .NET le plus rapide à ce jour.
Microsoft a déclaré que les performances du casting d'interface ont été améliorées de 16 % à 38 %. Cette amélioration est particulièrement utile pour la correspondance de modèle de C# vers et entre les interfaces. Le graphique ci-dessous illustre l'ampleur de l'amélioration pour un benchmark représentatif.
L'un des principaux avantages du passage de certaines parties du moteur d'exécution de .NET de C++ à C# géré est qu'il réduit la barrière à la contribution. Cela inclut le casting d'interface, qui a été déplacé vers C# lors d'un changement précoce de .NET 6. Beaucoup plus de personnes dans l'écosystème .NET maîtrisent le C# que le C++ (et le runtime utilise des modèles C++ difficiles). Le simple fait de pouvoir lire une partie du code qui compose le moteur d'exécution est une étape importante pour développer la confiance dans la contribution sous ses différentes formes.
.NET 6 avec PGO activé pourrait apporter :
- plus de 15 % pour un code moyen qui ne dépend pas du réseau et des E/S ;
- plus de 30 à 40 % de vitesse sur des boucles serrées et une logique favorable au cache ;
- Plus de 5 % pour un service web typique qui dépend principalement du réseau et des entrées/sorties.
Et vous ?
« .NET apporterait jusqu’à 40 % de gain de vitesse par rapport à .NET 5 », partagez-vous cette analyse ?
Que pensez-vous de .NET 6 ?
Avez-vous une expérience avec .NET ?
Voir aussi :
Microsoft annonce .NET 6, version la plus rapide à ce jour avec prise en charge des puces Apple Silicon, des containers Windows isolés des processus et une amélioration des E/S de fichiers
Microsoft a publié la version stable de Visual Studio 2022 avec une nouvelle expérience de rechargement à chaud pour les applications natives C++, cette version est disponible uniquement en 64 bits
Microsoft annonce la sortie de la première release candidate de .NET 6, disponible pour Linux, macOS et Windows, elle résout les problèmes fonctionnels et les régressions des fonctionnalités
Google Chrome et Microsoft Edge prendront en charge la fonction de sécurité CET d'Intel, pour maintenir la sécurité et prévenir des vulnérabilités