förord
. Net8-versionen, jämfört med. Net7 har förändrats mycket. I den här artikeln ska vi titta på några av dess typer av prestandaförändringar, officiellt rekommenderade nya typer som syftar till att förbättra applikationsprestandan.
Wraparound
1.System.Collections.Frozen
Namnrymder inkluderar samlingstyperna FrozenDictionary< TKey, TValue> och FrozenSet. När en samling har skapats tillåter dessa typer inga ändringar av nycklar och värden. Detta krav möjliggör snabbare läsoperationer (t.ex. TryGetValue()). Dessa typer är särskilt användbara för samlingar som fylls vid första användning och sedan behålls för långsiktig användning, såsom:
2.System.Buffers.IndexOfAnyValues
Typen är avsedd att skickas till metoden att hitta den första matchningen av något värde i den passerade samlingen. Till exempel letar String.IndexOfAny(Char[]) efter den första matchningen av ett tecken i den angivna arrayen i strängen som anropar den. NET 8 lägger till nya metodöverbelastningar, såsom String.IndexOfAny och MemoryExtensions.IndexOfAny, som accepterar nya typinstanser. När du skapar en instans av System.Buffers.IndexOfAnyValues kommer all data som behövs för att optimera efterföljande sökningar att härledas vid den tidpunkten, vilket innebär att arbetet görs i förväg.
3.System.Text.CompositeFormat
Typer kan användas för att optimera formatsträngar som är okända vid kompileringstillfället (t.ex. formatsträngar laddas från resursfiler). Det tar lite extra tid i början att göra saker som att tolka strängar, men det sparar arbete varje gång du använder det.
4.System.Buffers.IndexOfAnyValues
Typen är avsedd att skickas till metoden att hitta den första matchningen av något värde i den passerade samlingen. Till exempel letar String.IndexOfAny(Char[]) efter den första matchningen av ett tecken i den angivna arrayen i strängen som anropar den. NET 8 lägger till nya metodöverbelastningar, såsom String.IndexOfAny och MemoryExtensions.IndexOfAny, som accepterar nya typinstanser. När du skapar en instans av System.Buffers.IndexOfAnyValues kommer all data som behövs för att optimera efterföljande sökningar att härledas vid den tidpunkten, vilket innebär att arbetet görs i förväg.
5.System.Text.CompositeFormat
Typer kan användas för att optimera formatsträngar som är okända vid kompileringstillfället (t.ex. formatsträngar laddas från resursfiler). Det tar lite extra tid i början att göra saker som att tolka strängar, men det sparar arbete varje gång du använder det.
6. System.Numerics och System.Runtime.Intrinsics
Förbättringar av System.Numerics och System.Runtime.Intrinsics-namnrymden. Vector256, Matrix3x2 och Matrix4x4 förbättrar hårdvaruacceleration på .NET 8. Till exempel har Vector256 implementerat 2xVector128 där det är möjligt. Hårdvaruinterna funktioner annoterar nu med egenskapen ConstExpected. Detta säkerställer att användare vet när den underliggande hårdvaran behöver konstanter och när extraordinära värden av misstag kan skada prestandan.
Hänvisning:Inloggningen med hyperlänken är synlig. Original:Inloggningen med hyperlänken är synlig.
|