Microsoft a annoncé le sortie de la nouvelle version de ".NET 9" une plate-forme ouverte qui unifie des produits auparavant distincts tels que .NET Framework, .NET Core et Mono. NET 9.0 introduit, entre autres, une série d'améliorations des performances, d'optimisation du compilateur et d'amélioration de l'exécution.
L'un des changements les plus importants dans .NET 9.0 est le modernisation du éboueur, ça maintenant met en œuvre un mécanisme d’adaptation dynamique à la taille de l'application. Cela signifie que le collecteur n'est pas lié à la quantité de ressources disponibles sur le système, mais plutôt à la quantité de mémoire dont l'application a besoin.
De plus, il y a eu optimisations dans le compilateur JIT, avec l'incorporation de nouveaux optimisations basées sur le profil (OPG), améliorations de la gestion des boucles et le déroulement en ligne, ainsi qu'une optimisation de la gestion des exceptions qui augmente la vitesse de 50 %. Le code avec les opérateurs de conversion a vu des améliorations de performances allant jusqu'à 70 % et des améliorations ont également été apportées aux performances des requêtes LINQ, en particulier dans les méthodes Take et DefaultIfEmpty lorsque vous travaillez avec des tableaux et des collections vides, atteignant des améliorations allant jusqu'à 10 % dans certains cas. cas.
Quant à la Bibliothèque System.Text.Json, considérablement améliorée performances et efficacité. La méthode JsonProperty.WriteTo est désormais capable d'écrire des chaînes UTF8 directement, éliminer les allocations de mémoire inutiles, ce qui entraîne une amélioration des performances de 15 % et une réduction de 93 % de la consommation de mémoire lors des tests de référence avec .NET 8.
El Le runtime introduit également un nouveau modèle d'attribut permettant activer et désactiver les fonctions dans les bibliothèques de manière plus efficace. dans la langue C# 13, les capacités du modificateur « params » ont été étendues, permettant non seulement l'utilisation de tableaux, mais aussi de collections.
Un opérateur "^" a également été introduit pour spécifier les index à partir de la fin d'un tableau, facilitant ainsi la manipulation du tableau. De plus, les itérateurs et les méthodes asynchrones pouvant utiliser des expressions ref et unsafe sont autorisés. Enfin, un nouveau type de verrou a été proposé pour améliorer la gestion des applications multithread.
libération F# 9 prend en charge les types nullables, ce qui étend les capacités de la langue. En plus, les syndicats implémentent désormais les propriétés ".Is*" généré automatiquement, ce qui permet de vérifier facilement si une valeur appartient à un ensemble spécifique. Par exemple, avec les jointures, vous pouvez vérifier des valeurs telles que person.contact.IsEmail.
Dans le Les directives commençant par le symbole # sont désormais autorisées à des valeurs autres que les chaînes. La possibilité de sélectionner ou de mélanger aléatoirement des éléments dans des modules tels que List, Array et Seq est également ajoutée. Les opérations de collecte ont également été améliorées, permettant un travail plus facile avec des listes et des ensembles.
Par contre, la pile .NET Aspire propose désormais un ensemble de composants plus robustes pour créer des applications dans des environnements cloud. Ce inclut de nouvelles fonctionnalités pour gérer le cycle de vie des applications et des ressources, ainsi que des améliorations des outils de collecte de télémétrie.
En ce qui concerne C#, un ensemble de nouvelles abstractions a été proposé pour faciliter le développement de applications d'intelligence artificielle. Ces abstractions inclure l'utilisation de grands modèles de langage, accès aux magasins de vecteurs et interactions avec les services d’IA.
En outre Un nouveau type Tensor a été introduit et des méthodes de calcul et de manipulation de données multidimensionnelles, ainsi que des plugins. La mise à jour ML.NET inclut également des améliorations, avec la nouvelle bibliothèque Microsoft.ML.Tokenizers pour encoder et décoder le texte en jetons.
Pour le développement web, ASP.NET Core a amélioré la prise en charge de la compilation, offrant un meilleures performances, consommation de mémoire réduite et des temps de démarrage plus rapides. Le travail avec des fichiers statiques a également été optimisé, en plus d'inclure une nouvelle API pour l'authentification et l'autorisation. Blazor, la plateforme de création d'applications Web en C#, a lancé de nouveaux modèles pour les applications Web et hybrides, élargissant ainsi les possibilités pour les développeurs.
MAUI (Multi-platform App UI) a amélioré les performances et l'intégration avec les applications ordinateur de bureau et mobile. De nouveaux éléments d'interface tels que TitleBar et HybridWebView ont été ajoutés, rendant encore plus facile la création d'applications utilisateur interactives.
Enfin, WPF (Fondation de présentation Windows) a augmenté son support thématique, ajout de la prise en charge des couleurs d'accentuation, permettant aux développeurs de personnaliser davantage l'apparence de leurs applications Windows.
Enfin, si vous souhaitez en savoir plus, vous pouvez consulter les détails dans la lien suivant