priekšvārds
. Net8 versija, salīdzinot ar. Net7 ir daudz mainījies. Šajā rakstā apskatīsim dažus veiktspējas izmaiņu veidus, oficiāli ieteiktos jaunos veidus, kuru mērķis ir uzlabot lietojumprogrammu veiktspēju.
aptverošs
1.Sistēma.Kolekcijas.Saldēts
Nosaukumvietas ietver kolekcijas tipus FrozenDictionary< TKey, TValue> un FrozenSet. Kad kolekcija ir izveidota, šie tipi neļauj mainīt atslēgas un vērtības. Šī prasība nodrošina ātrākas lasīšanas operācijas (piemēram, TryGetValue()). Šie veidi ir īpaši noderīgi kolekcijām, kas tiek aizpildītas pirmajā lietošanas reizē un pēc tam saglabātas ilgtermiņa pakalpojumam, piemēram:
2.System.Buffers.IndexOfAnyValues
Veids ir paredzēts nodot metodei, lai atrastu jebkuras vērtības pirmo atbilstību nodotajā kolekcijā. Piemēram, String.IndexOfAny(Char[]) meklē jebkuras rakstzīmes pirmo atbilstību norādītajā masīvā virknē, kas to izsauc. NET 8 pievieno jaunas metodes pārslodzes, piemēram, String.IndexOfAny un MemoryExtensions.IndexOfAny, kas pieņem jauna tipa instances. Izveidojot System.Buffers.IndexOfAnyValues instanci, tajā laikā tiks iegūti visi dati, kas nepieciešami, lai optimizētu turpmāko meklēšanu, kas nozīmē, ka darbs tiek veikts iepriekš.
3.System.Text.CompositeFormat
Tipus var izmantot, lai optimizētu formāta virknes, kas kompilācijas laikā nav zināmas (piemēram, formāta virknes tiek ielādētas no resursu failiem). Lai veiktu tādas lietas kā virkņu parsēšana, ir nepieciešams papildu laiks, taču tas ietaupa paveikto katru reizi, kad to izmantojat.
4.System.Buffers.IndexOfAnyValues
Veids ir paredzēts nodot metodei, lai atrastu jebkuras vērtības pirmo atbilstību nodotajā kolekcijā. Piemēram, String.IndexOfAny(Char[]) meklē jebkuras rakstzīmes pirmo atbilstību norādītajā masīvā virknē, kas to izsauc. NET 8 pievieno jaunas metodes pārslodzes, piemēram, String.IndexOfAny un MemoryExtensions.IndexOfAny, kas pieņem jauna tipa instances. Izveidojot System.Buffers.IndexOfAnyValues instanci, tajā laikā tiks iegūti visi dati, kas nepieciešami, lai optimizētu turpmāko meklēšanu, kas nozīmē, ka darbs tiek veikts iepriekš.
5.System.Text.CompositeFormat
Tipus var izmantot, lai optimizētu formāta virknes, kas kompilācijas laikā nav zināmas (piemēram, formāta virknes tiek ielādētas no resursu failiem). Lai veiktu tādas lietas kā virkņu parsēšana, ir nepieciešams papildu laiks, taču tas ietaupa paveikto katru reizi, kad to izmantojat.
6. System.Numerics un System.Runtime.Intrinsics
System.Numerics un System.Runtime.Intrinsics nosaukumvietu uzlabojumi. Vector256, Matrix3x2 un Matrix4x4 uzlabo aparatūras paātrinājumu .NET 8. Piemēram, Vector256 ir atkārtoti ieviesis 2xVector128, kur tas ir iespējams. Aparatūras iekšējie elementi tagad tiek anotēti, izmantojot rekvizītu ConstExpected. Tas nodrošina, ka lietotāji zina, kad pamatā esošajai aparatūrai ir nepieciešamas konstantes un kad ārkārtas vērtības var nejauši kaitēt veiktspējai.
Atsauce:Hipersaites pieteikšanās ir redzama. Sākotnējā:Hipersaites pieteikšanās ir redzama.
|