Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 3616|Svar: 2

[Källa] .NET/C# använder Span för att hantera strängar med hög prestanda

[Kopiera länk]
Publicerad på 2023-05-25 20:13:18 | | | |
Krav: Nyligen, när jag tittat på kunskap<T> som Span och Memory<T>, känner jag att det finns många fördelar med att använda sådana objekt, såsom: direkt åtkomst till minnet (och mycket säkert), minskning av onödig minnesallokering (beroende på scenen, t.ex. substringskärning av strängkonvertering), modifiering av värden i minnet och fortfarande inlärning, inte den djupgående förståelsen.

System.Span<T> är en ny värdetyp i .NET-kärnan. Den stöder en representation av ett sammanhängande område av godtyckligt minne, oavsett om det minnet är kopplat till ett hanterat objekt, tillhandahålls av inbyggd kod via interop, eller finns i stacken. Det gör detta samtidigt som den ger säker åtkomst, med prestandaegenskaper liknande arrays. Vid användning säkerställer Span minnes- och datasäkerhet med liten eller ingen overhead.

Till exempel, om vi använder Substring för att konvertera en sträng till typen int, guid, long osv., kommer vi inte längre att använda det interceptade stränginnehållet, men anrop Substring för att returnera en ny sträng kommer att begära nytt minnesutrymme.

Först introduceras benchmarkingverktyget BenchmarkDotNet, enligt följande:

.NET/C# använder BenchmarkDotNet för att testa kodprestanda
https://www.itsvse.com/thread-9576-1-1.html
Testkoden är följande:

Resultaten är följande:



Hänvisning:

Inloggningen med hyperlänken är synlig.
Inloggningen med hyperlänken är synlig.





Föregående:.NET/C#-syntax goto-sats
Nästa:Docker bygger online tankekartor baserade på draw.io
Publicerad på 2023-05-26 14:11:02 |
Kom och lär dig...
 Hyresvärd| Publicerad på 2023-09-01 21:59:03 |
Om ja.NET-ramverketkan refererasSystem.Memory.dllAnvänd ReadOnlySpan, AsSpan
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com