Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Het 📦 CommunityToolkit.HighPerformance-pakket bevat helpers en extensies voor het werken in scenario's met hoge prestaties. Dit pakket kan worden geïnstalleerd via NuGet en heeft de volgende multitargets:
- .NET Standard 2.0
- .NET 7
Dit betekent dat u het kunt gebruiken voor alles, van UWP- of verouderde .NET Framework-toepassingen, games die zijn geschreven in Unity, platformoverschrijdende mobiele toepassingen met Xamarin, tot .NET Standard-bibliotheken en moderne .NET 7- en latere toepassingen. Het API-oppervlak is in alle gevallen bijna identiek en er is veel werk gedaan om zoveel mogelijk functies te backporteren naar oudere doelen, zoals .NET Standard 2.0. Met uitzondering van enkele kleine verschillen kunt u verwachten dat dezelfde API's beschikbaar zijn voor alle doelframeworks. De reden waarom multi-targeting is gebruikt, is om het pakket in staat te stellen om zoveel mogelijk gebruik te maken van de nieuwste API's op moderne runtimes, terwijl de meeste functionaliteiten nog steeds aan alle doelplatforms worden geleverd.
Aan de slag
Het pakket installeren vanuit Visual Studio:
Klik in Solution Explorer met de rechtermuisknop op het project en selecteer NuGet-pakketten beheren. Zoek naar CommunityToolkit.HighPerformance en installeer deze.
Voeg een using- of importrichtlijn toe om de nieuwe API's te gebruiken:
using CommunityToolkit.HighPerformance;Imports CommunityToolkit.HighPerformanceCodevoorbeelden zijn beschikbaar op de andere docs-pagina's voor de MVVM Toolkit en in de eenheidstests voor het project.
Wanneer moet ik dit pakket gebruiken?
Zoals de naam al aangeeft, bevat het pakket High Performance een set API's die sterk zijn gericht op optimalisatie. Alle nieuwe API's zijn zorgvuldig ontworpen om de best mogelijke prestaties te bereiken wanneer ze worden gebruikt, hetzij via beperkte geheugentoewijzing, microoptimalisaties op assemblyniveau of door de API's te structureren op een manier die het schrijven van op prestaties gerichte code in het algemeen vergemakkelijkt.
Dit pakket maakt intensief gebruik van API's zoals:
System.Span<T>System.Memory<T>System.Buffers.ArrayPool<T>System.Runtime.CompilerServices.UnsafeSystem.Runtime.InteropServices.MemoryMarshalSystem.Threading.Tasks.Parallel
Als u al bekend bent met deze API's of zelfs als u net aan de slag gaat met het schrijven van code met hoge prestaties in C# en een set goed geteste helpers wilt gebruiken in uw eigen projecten, bekijkt u wat er in dit pakket is opgenomen om te zien hoe u deze in uw eigen projecten kunt gebruiken.
Waar starten?
Hier volgen enkele API's die u eerst kunt bekijken, als u al een van deze typen gebruikte:
-
Span2D<T>enMemory2D<T>, voor eenSpan<T>enMemory<T>-like abstractie over 2D-geheugen -
MemoryOwner<T>enSpanOwner<T>, als je gebruikteSystem.Buffers.ArrayPool<T>. -
StringPool, voor eenArrayPool<T>-achtig type omstring-instanties in de cache op te slaan -
ParallelHelper, als jeSystem.Threading.Tasks.Parallelgebruikte.
Aanvullende bronnen
Meer voorbeelden vindt u in de eenheidstests.
.NET Community Toolkit