Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O CommunityToolkit.HighPerformance contém auxiliares e extensões para trabalhar em cenários de alto desempenho. Esse pacote pode ser instalado por meio do NuGet e tem os vários destinos a seguir:
- .NET Standard 2.0
- .NET Standard 2.1
- .NET 6
- .NET 7
Isso significa que você pode usá-lo de qualquer lugar, desde aplicativos UWP ou .NET Framework herdados, jogos escritos no Unity, aplicativos móveis multiplataforma usando o Xamarin, até bibliotecas do .NET Standard e aplicativos .NET 6 e .NET 7 modernos. A superfície da API é quase idêntica em todos os casos, e muito trabalho foi dedicado a fazer backport de tantos recursos quanto possível para destinos mais antigos, como o .NET Standard 2.0. Exceto por algumas pequenas diferenças, você pode esperar que as mesmas APIs estejam disponíveis em todas as estruturas de destino. O motivo pelo qual o multi-direcionamento foi usado é permitir que o pacote aproveite todas as APIs mais recentes em runtimes modernos (como o .NET 7) sempre que possível, ao mesmo tempo que oferece a maioria de suas funcionalidades para todas as plataformas de destino.
Introdução
Para instalar o pacote de dentro do Visual Studio:
No Gerenciador de Soluções, clique com o botão direito do mouse no projeto e selecione Gerenciar Pacotes NuGet. Pesquise CommunityToolkit.HighPerformance e instale-o.

Adicione uma diretiva using ou Imports para usar as novas APIs:
using CommunityToolkit.HighPerformance;Imports CommunityToolkit.HighPerformanceExemplos de código estão disponíveis nas outras páginas de documentos para o Kit de Ferramentas do MVVM e nos testes de unidade do projeto.
Quando devo usar esse recurso?
Como o nome sugere, o pacote de Alto Desempenho contém um conjunto de APIs que estão fortemente focadas na otimização. Todas as novas APIs foram cuidadosamente criadas para obter o melhor desempenho possível ao usá-las, seja por meio de alocação de memória reduzida, micro otimizações no nível do assembly ou estruturando as APIs de forma a facilitar a gravação de código orientado ao desempenho em geral.
Esse pacote faz uso intenso de APIs como:
System.Span<T>System.Memory<T>System.Buffers.ArrayPool<T>System.Runtime.CompilerServices.UnsafeSystem.Runtime.InteropServices.MemoryMarshalSystem.Threading.Tasks.Parallel
Se você já estiver familiarizado com essas APIs ou mesmo se estiver apenas começando a escrever código de alto desempenho no C# e quiser que um conjunto de auxiliares bem testados use em seus próprios projetos, confira o que está incluído neste pacote para ver como você pode usá-lo em seus próprios projetos!
Por onde começar?
Aqui estão algumas APIs que você poderia examinar primeiro, se já estivesse usando um desses tipos mencionados acima:
Span2D<T>eMemory2D<T>, para umSpan<T>e um abstração semelhante aMemory<T>sobre memória 2DMemoryOwner<T>eSpanOwner<T>se você estivesse usandoSystem.Buffers.ArrayPool<T>.StringPoolpara um tipo semelhante aArrayPool<T>para a instânciasstringde cacheParallelHelperse você estivesse usandoSystem.Threading.Tasks.Parallel.
Recursos adicionais
Você pode encontrar mais exemplos nos teste de unidade.
.NET Community Toolkit