prefazione
. Versione Net8, rispetto a. Net7 è cambiato molto. In questo articolo, diamo un'occhiata ad alcuni dei suoi tipi di cambiamenti nelle prestazioni, nuovi tipi ufficialmente raccomandati volti a migliorare le prestazioni delle applicazioni.
Avvolgente
1. Collezioni del Sistema. Congelati
Gli spazi di nome includono i tipi di collezione FrozenDictionary< TKey, TValue> e FrozenSet. Una volta creata una collezione, questi tipi non permettono modifiche a chiavi e valori. Questo requisito consente operazioni di lettura più rapide (ad esempio, TryGetValue()). Questi tipi sono particolarmente utili per le collezioni che vengono popolate all'inizio dell'uso e poi mantenute per un servizio a lungo termine, come ad esempio:
2.System.Buffers.IndexOfAnyValues
Il tipo è destinato a essere passato al metodo di ricerca della prima corrispondenza di qualsiasi valore nella collezione passata. Ad esempio, String.IndexOfAny(Char[]) cerca la prima corrispondenza di qualsiasi carattere nell'array specificato nella stringa che lo chiama. NET 8 aggiunge nuovi sovraccarichi di metodi, come String.IndexOfAny e MemoryExtensions.IndexOfAny che accettano nuove istanze di tipi. Quando crei un'istanza di System.Buffers.IndexOfAnyValues, tutti i dati necessari per ottimizzare le ricerche successive verranno derivati in quel momento, il che significa che il lavoro viene svolto in anticipo.
3.System.Text.CompositeFormat
I tipi possono essere usati per ottimizzare stringhe di formato sconosciute al momento della compilazione (ad esempio, stringhe di formato vengono caricate da file risorsa). Ci vuole un po' di tempo in più all'inizio per fare cose come analizzare le stringhe, ma questo risparmia lavoro ogni volta che lo usi.
4.System.Buffers.IndexOfAnyValues
Il tipo è destinato a essere passato al metodo di ricerca della prima corrispondenza di qualsiasi valore nella collezione passata. Ad esempio, String.IndexOfAny(Char[]) cerca la prima corrispondenza di qualsiasi carattere nell'array specificato nella stringa che lo chiama. NET 8 aggiunge nuovi sovraccarichi di metodi, come String.IndexOfAny e MemoryExtensions.IndexOfAny che accettano nuove istanze di tipi. Quando crei un'istanza di System.Buffers.IndexOfAnyValues, tutti i dati necessari per ottimizzare le ricerche successive verranno derivati in quel momento, il che significa che il lavoro viene svolto in anticipo.
5.System.Text.CompositeFormat
I tipi possono essere usati per ottimizzare stringhe di formato sconosciute al momento della compilazione (ad esempio, stringhe di formato vengono caricate da file risorsa). Ci vuole un po' di tempo in più all'inizio per fare cose come analizzare le stringhe, ma questo risparmia lavoro ogni volta che lo usi.
6. System.Numerics e System.Runtime.Intrinsics
Miglioramenti agli spazi di nomi System.Numerics e System.Runtime.Intrinsics. Vector256, Matrix3x2 e Matrix4x4 migliorano l'accelerazione hardware su .NET 8. Ad esempio, Vector256 ha reimplementato 2xVector128 quando possibile. Gli interni hardware ora annotano usando la proprietà ConstExpected. Questo garantisce che gli utenti sappiano quando l'hardware sottostante necessita di costanti e quando valori straordinari possono danneggiare accidentalmente le prestazioni.
Riferimento:Il login del link ipertestuale è visibile. Originale:Il login del link ipertestuale è visibile.
|