prefață
. Versiunea Net8, comparativ cu. Net7 s-a schimbat mult. În acest articol, să aruncăm o privire asupra unor tipuri de schimbări de performanță, recomandări oficiale noi, menite să îmbunătățească performanța aplicațiilor.
Wraparound
1. System.Collections.Frozen
Namespace-urile includ tipurile de colecții FrozenDictionary< TKey, TValue> și FrozenSet. Odată ce o colecție este creată, aceste tipuri nu permit modificări ale cheilor și valorilor. Această cerință permite operații de citire mai rapide (de exemplu, TryGetValue()). Aceste tipuri sunt deosebit de utile pentru colecțiile care sunt populate la prima utilizare și apoi păstrate pentru serviciu pe termen lung, cum ar fi:
2.System.Buffers.IndexOfAnyValues
Tipul este destinat să fie transmis metodei de găsire a primei potriviri de orice valoare din colecția adoptată. De exemplu, String.IndexOfAny(Char[]) caută prima potrivire a oricărui caracter din tabloul specificat din șirul care îl apelează. NET 8 adaugă noi suprasolicitări de metode, precum String.IndexOfAny și MemoryExtensions.IndexOfAny, care acceptă instanțe noi de tip. Când creezi o instanță de System.Buffers.IndexOfAnyValues, toate datele necesare pentru optimizarea căutărilor ulterioare vor fi obținute în acel moment, ceea ce înseamnă că munca este făcută dinainte.
3.System.Text.CompositeFormat
Tipurile pot fi folosite pentru a optimiza șiruri de format necunoscute la compilare (de exemplu, șirurile de format sunt încărcate din fișiere de resurse). Durează ceva timp suplimentar la început pentru a face lucruri precum analizarea șirurilor, dar astfel economisești munca făcută de fiecare dată când folosești.
4.System.Buffers.IndexOfAnyValues
Tipul este destinat să fie transmis metodei de găsire a primei potriviri de orice valoare din colecția adoptată. De exemplu, String.IndexOfAny(Char[]) caută prima potrivire a oricărui caracter din tabloul specificat din șirul care îl apelează. NET 8 adaugă noi suprasolicitări de metode, precum String.IndexOfAny și MemoryExtensions.IndexOfAny, care acceptă instanțe noi de tip. Când creezi o instanță de System.Buffers.IndexOfAnyValues, toate datele necesare pentru optimizarea căutărilor ulterioare vor fi obținute în acel moment, ceea ce înseamnă că munca este făcută dinainte.
5.System.Text.CompositeFormat
Tipurile pot fi folosite pentru a optimiza șiruri de format necunoscute la compilare (de exemplu, șirurile de format sunt încărcate din fișiere de resurse). Durează ceva timp suplimentar la început pentru a face lucruri precum analizarea șirurilor, dar astfel economisești munca făcută de fiecare dată când folosești.
6. System.Numerics și System.Runtime.Intrinsics
Îmbunătățiri ale spațiilor de nume System.Numerics și System.Runtime.Intrinstics. Vector256, Matrix3x2 și Matrix4x4 îmbunătățesc accelerarea hardware pe .NET 8. De exemplu, Vector256 a reimplementat 2xVector128 acolo unde a fost posibil. Internele hardware se adnotează acum folosind proprietatea ConstExpected. Acest lucru asigură că utilizatorii știu când hardware-ul de bază are nevoie de constante și când valorile extraordinare pot afecta accidental performanța.
Referință:Autentificarea cu hyperlink este vizibilă. Original:Autentificarea cu hyperlink este vizibilă.
|