préface
. Version Net8, comparée à. Net7 a beaucoup changé. Dans cet article, examinons certains de ses types de changements de performance, les nouveaux types officiellement recommandés visant à améliorer les performances des applications.
Enveloppant
1. Système.Collections.Frozen
Les espaces de noms incluent les types de collections FrozenDictionary< TKey, TValue> et FrozenSet. Une fois une collection créée, ces types n’autorisent aucune modification des clés et des valeurs. Cette exigence permet des opérations de lecture plus rapides (par exemple, TryGetValue()). Ces types sont particulièrement utiles pour les collections qui sont peuplées au départ puis conservées pour un service à long terme, telles que :
2. System.Buffers.IndexOfAnyValues
Le type est destiné à être transmis à la méthode de recherche de la première correspondance de valeur quelconque dans la collection passée. Par exemple, String.IndexOfAny(Char[]) recherche la première correspondance de n’importe quel caractère dans le tableau spécifié de la chaîne qui l’appelle. NET 8 ajoute de nouvelles surcharges de méthodes, telles que String.IndexOfAny et MemoryExtensions.IndexOfAny qui acceptent de nouvelles instances de type. Lorsque vous créez une instance de System.Buffers.IndexOfAnyValues, toutes les données nécessaires pour optimiser les recherches ultérieures seront dérivées à ce moment-là, ce qui signifie que le travail est effectué au départ.
3. System.Text.CompositeFormat
Les types peuvent être utilisés pour optimiser des chaînes de formats inconnues au moment de la compilation (par exemple, les chaînes de format sont chargées à partir de fichiers ressources). Cela prend un peu plus de temps au départ pour faire des choses comme analyser les chaînes, mais cela évite le travail à chaque utilisation.
4. System.Buffers.IndexOfAnyValues
Le type est destiné à être transmis à la méthode de recherche de la première correspondance de valeur quelconque dans la collection passée. Par exemple, String.IndexOfAny(Char[]) recherche la première correspondance de n’importe quel caractère dans le tableau spécifié de la chaîne qui l’appelle. NET 8 ajoute de nouvelles surcharges de méthodes, telles que String.IndexOfAny et MemoryExtensions.IndexOfAny qui acceptent de nouvelles instances de type. Lorsque vous créez une instance de System.Buffers.IndexOfAnyValues, toutes les données nécessaires pour optimiser les recherches ultérieures seront dérivées à ce moment-là, ce qui signifie que le travail est effectué au départ.
5.System.Text.CompositeFormat
Les types peuvent être utilisés pour optimiser des chaînes de formats inconnues au moment de la compilation (par exemple, les chaînes de format sont chargées à partir de fichiers ressources). Cela prend un peu plus de temps au départ pour faire des choses comme analyser les chaînes, mais cela évite le travail à chaque utilisation.
6. System.Numerics et System.Runtime.Intrinsics
Améliorations des espaces de noms System.Numerics et System.Runtime.Intrinsics. Vector256, Matrix3x2 et Matrix4x4 améliorent l’accélération matérielle sur .NET 8. Par exemple, Vector256 a réimplémenté 2xVector128 lorsque c’était possible. Les composants internes matériels annotent désormais en utilisant la propriété ConstExpected. Cela garantit que les utilisateurs savent quand le matériel sous-jacent a besoin de constantes et quand des valeurs extraordinaires peuvent accidentellement nuire aux performances.
Référence:La connexion hyperlientérée est visible. Langue source:La connexion hyperlientérée est visible.
|