forord
. Net8-versjonen, sammenlignet med. Net7 har endret seg mye. I denne artikkelen skal vi se på noen av dens typer ytelsesendringer, offisielt anbefalte nye typer som har som mål å forbedre applikasjonsytelsen.
Wraparound
1.System.Collections.Frozen
Navnerom inkluderer samlingstypene FrozenDictionary< TKey, TValue> og FrozenSet. Når en samling er opprettet, tillater ikke disse typene noen endringer i nøkler og verdier. Dette kravet muliggjør raskere leseoperasjoner (f.eks. TryGetValue()). Disse typene er spesielt nyttige for samlinger som fylles ved første bruk og deretter beholdes for langtidsbruk, slik som:
2.System.Buffers.IndexOfAnyValues
Typen er ment å sendes til metoden for å finne det første treffet av en verdi i den passerte samlingen. For eksempel ser String.IndexOfAny(Char[]) etter det første treffet til et hvilket som helst tegn i det angitte arrayet i strengen som kaller det. NET 8 legger til nye metodeoverbelastninger, som String.IndexOfAny og MemoryExtensions.IndexOfAny, som aksepterer nye typeinstanser. Når du oppretter en instans av System.Buffers.IndexOfAnyValues, vil all data som trengs for å optimalisere påfølgende søk bli hentet på det tidspunktet, noe som betyr at arbeidet gjøres på forhånd.
3.System.Text.CompositeFormat
Typer kan brukes til å optimalisere formatstrenger som er ukjente ved kompilering (f.eks. formatstrenger lastes inn fra ressursfiler). Det tar litt ekstra tid i starten å gjøre ting som å analysere strenger, men dette sparer arbeid hver gang du bruker det.
4.System.Buffers.IndexOfAnyValues
Typen er ment å sendes til metoden for å finne det første treffet av en verdi i den passerte samlingen. For eksempel ser String.IndexOfAny(Char[]) etter det første treffet til et hvilket som helst tegn i det angitte arrayet i strengen som kaller det. NET 8 legger til nye metodeoverbelastninger, som String.IndexOfAny og MemoryExtensions.IndexOfAny, som aksepterer nye typeinstanser. Når du oppretter en instans av System.Buffers.IndexOfAnyValues, vil all data som trengs for å optimalisere påfølgende søk bli hentet på det tidspunktet, noe som betyr at arbeidet gjøres på forhånd.
5.System.Text.CompositeFormat
Typer kan brukes til å optimalisere formatstrenger som er ukjente ved kompilering (f.eks. formatstrenger lastes inn fra ressursfiler). Det tar litt ekstra tid i starten å gjøre ting som å analysere strenger, men dette sparer arbeid hver gang du bruker det.
6. System.Numerikk og System.Runtime.Intrinsics
Forbedringer av System.Numerics og System.Runtime.Intrinsics-navneområdene. Vector256, Matrix3x2 og Matrix4x4 forbedrer maskinvareakselerasjon på .NET 8. For eksempel har Vector256 reimplementert 2xVector128 der det er mulig. Maskinvarens interne deler annoterer nå med egenskapen ConstExpected. Dette sikrer at brukerne vet når den underliggende maskinvaren trenger konstanter, og når ekstraordinære verdier utilsiktet kan skade ytelsen.
Referanse:Innloggingen med hyperkoblingen er synlig. Original:Innloggingen med hyperkoblingen er synlig.
|