predgovor
. Net8 različica, v primerjavi z. Net7 se je zelo spremenil. V tem članku si poglejmo nekatere vrste sprememb zmogljivosti, uradno priporočene nove vrste, namenjene izboljšanju zmogljivosti aplikacij.
Wraparound
1.System.Collections.Frozen
Imenski prostori vključujejo vrste zbirk FrozenDictionary< TKey, TValue> in FrozenSet. Ko je zbirka enkrat ustvarjena, ti tipi ne dovoljujejo nobenih sprememb ključev in vrednosti. Ta zahteva omogoča hitrejše branje (npr. TryGetValue()). Te vrste so še posebej uporabne za zbirke, ki se ob prvi uporabi napolnijo in nato shranijo za dolgoročno uporabo, kot so:
2.System.Buffers.IndexOfAnyValues
Tip naj bi se prenesel na metodo za iskanje prvega ujemanja katere koli vrednosti v prepuščeni zbirki. Na primer, String.IndexOfAny(Char[]) išče prvo ujemanje katerega koli znaka v določenem polju v nizu, ki ga kliče. NET 8 dodaja nove preobremenitve metod, kot sta String.IndexOfAny in MemoryExtensions.IndexOfAny, ki sprejemata nove primerke tipov. Ko ustvarite instanco System.Buffers.IndexOfAnyValues, bodo vsi podatki, potrebni za optimizacijo naslednjih iskanj, pridobljeni takrat, kar pomeni, da je delo opravljeno vnaprej.
3.System.Text.CompositeFormat
Tipi se lahko uporabljajo za optimizacijo formatnih nizov, ki so ob prevajanju neznani (npr. formatni nizi se nalagajo iz datotek z viri). Na začetku je potrebno nekaj dodatnega časa za razčlenjevanje nizov, a to prihrani delo vsakič, ko ga uporabiš.
4.System.Buffers.IndexOfAnyValues
Tip naj bi se prenesel na metodo za iskanje prvega ujemanja katere koli vrednosti v prepuščeni zbirki. Na primer, String.IndexOfAny(Char[]) išče prvo ujemanje katerega koli znaka v določenem polju v nizu, ki ga kliče. NET 8 dodaja nove preobremenitve metod, kot sta String.IndexOfAny in MemoryExtensions.IndexOfAny, ki sprejemata nove primerke tipov. Ko ustvarite instanco System.Buffers.IndexOfAnyValues, bodo vsi podatki, potrebni za optimizacijo naslednjih iskanj, pridobljeni takrat, kar pomeni, da je delo opravljeno vnaprej.
5.System.Text.CompositeFormat
Tipi se lahko uporabljajo za optimizacijo formatnih nizov, ki so ob prevajanju neznani (npr. formatni nizi se nalagajo iz datotek z viri). Na začetku je potrebno nekaj dodatnega časa za razčlenjevanje nizov, a to prihrani delo vsakič, ko ga uporabiš.
6. System.Numerics in System.Runtime.Intrinsics
Izboljšave imenskih prostorov System.Numerics in System.Runtime.Intrinsics. Vector256, Matrix3x2 in Matrix4x4 izboljšujejo strojno pospeševanje na .NET 8. Na primer, Vector256 je, kjer je mogoče, ponovno implementiral 2xVector128. Notranji elementi strojne opreme zdaj označujejo z lastnostjo ConstExpected. To zagotavlja, da uporabniki vedo, kdaj osnovna strojna oprema potrebuje konstante in kdaj lahko izjemne vrednosti po nesreči škodujejo zmogljivosti.
Referenčni:Prijava do hiperpovezave je vidna. Izvirno:Prijava do hiperpovezave je vidna.
|