Les nouveaux ASP.NET Core et EF Core sont également prêts.
Vous pouvez télécharger .NET 5.0 Preview 7 pour Windows, macOS et Linux:
- Installateurs
- Images
- Installateur Snap
- Notes de version
- Problèmes connus
- Suivi des problèmes sur GitHub
Vous devez utiliser Visual Studio 2019 16.7 pour travailler avec .NET 5.0. .NET 5.0 est désormais pris en charge par Visual Studio pour Mac . Installez la dernière extension C # pour utiliser .NET 5.0 avec Visual Studio Code .
En savoir plus sur l'aperçu 7 sous la coupe.
Performance
Stephen Taub a récemment publié son article «Améliorations des performances dans .NET 5», le dernier d'une série. Il couvre environ 250 demandes d'extraction axées sur les performances, qui contiennent des améliorations qui pourraient même surprendre les gens qui surveillent de près les performances de .NET Core.
System.Text.Json
Nous avons ajouté une fonctionnalité d'utilisabilité à la nouvelle API JSON. Les fonctionnalités suivantes sont nouvelles dans l'aperçu 7 (il y en aura plus dans l'aperçu 8).
(GC)
Le GC fournit désormais des détails sur la collection la plus récente via la méthode GC.GetGCMemoryInfo , qui renvoie une structure GCMemoryInfo . GCMemoryInfo fournit des informations sur la mémoire de la machine, la mémoire du tas et la collection la plus récente, ou la collection la plus récente du type de GC que vous spécifiez - GC éphémère, blocage complet ou arrière-plan.
Les cas d'utilisation les plus probables de cette nouvelle API sont pour la journalisation / la surveillance, ou pour indiquer au chargeur de démarrage de l'équilibreur de charge qu'une machine doit être retirée de la rotation pour demander un GC complet. Cela peut également être utilisé pour éviter les contraintes de conteneur dur en réduisant la taille des caches.
RyuJIT
RyuJIT est un générateur de code d'assemblage pour .NET conçu pour les puces Intel et ARM. Une grande partie du travail de RyuJIT se concentre sur la performance.
- Améliorations majeures
- Activer l'élimination de certaines vérifications de limites - Credit @ nathan-moore
- Optimiser Enum.CompareTo après avoir été réécrit en C # - les performances sont désormais à parité avec l'implémentation C ++ précédente.
- Amélioration de l'allocation des registres pour les structs - Enregister multireg lclVars
- Améliorations pour la suppression des inits zéro redondants
- Amélioration de la duplication de la queue
- Correctif CQ de copie de structures basées sur la pile
- Nettoyer une affectation de champ morte après avoir supprimé les initialisations de zéro redondantes
- Optimisation intrinsèque du matériel ARM64 et API
- Mettre en œuvre la majorité des éléments intrinsèques «par élément»
- Implémenter fcvtxn, fcvtxn2, sqabs, sqneg, suqadd, usqadd intrinsèques - # 38010 , # 38110
- Optimiser SpanHelpers.IndexOf (octet), SpanHelpers.IndexOf (char)
- Optimiser SpanHelpers.IndexOfAny (octet)
- Optimiser avecLower, WithUpper, Create, AsInt64, AsUInt64, AsDouble
- Optimiser AsVector, AsVector128, GetUpper, As et WithElement
Conclusion
Veuillez nous parler de votre expérience avec Preview 7. Il n'est pas trop tard pour partager vos commentaires. Nous nous rapprochons de la sortie, et maintenant nous accordons plus d'attention à la qualité, car nous avons pratiquement fini de développer de nouvelles fonctionnalités.