Общие сведения о пакете высокой производительности

Пакет📦 CommunityToolkit.HighPerformance содержит вспомогательные и расширения для работы в высокопроизводительных сценариях. Этот пакет можно установить с помощью NuGet и поддерживает несколько целевых платформ.

  • .NET Standard 2.0
  • .NET 7

Это означает, что вы можете использовать его для всех приложений UWP или устаревших приложений .NET Framework, написанных в Unity, кроссплатформенных мобильных приложений с помощью Xamarin, до библиотек .NET Standard и современных приложений .NET 7 и более поздних версий. Область API почти идентична во всех случаях, и значительное внимание было уделено адаптации максимально возможного количества функций к более старым целевым платформам, таким как .NET Standard 2.0. За исключением некоторых незначительных различий, вы можете ожидать, что одни и те же API будут доступны во всех целевых платформах. Причина, по которой используется мультицелевая поддержка, заключается в том, чтобы пакет мог использовать все последние API в современных средах выполнения, когда это возможно, при этом предлагая большую часть своих функциональных возможностей всем целевым платформам.

Начало работы

Чтобы установить пакет из Visual Studio, выполните указанные ниже действия.

  1. В обозревателе решений щелкните проект правой кнопкой мыши и выберите пункт "Управление пакетами NuGet". Найдите CommunityToolkit.HighPerformance и установите его.

    Пакеты NuGet

  2. Добавьте директиву using или Import для использования новых API:

    using CommunityToolkit.HighPerformance;
    
    Imports CommunityToolkit.HighPerformance
    
  3. Примеры кода доступны на других страницах документации для набора средств MVVM и в модульных тестах для проекта.

Когда следует использовать этот пакет?

Как показано в названии, пакет высокой производительности содержит набор API, которые в значительной степени сосредоточены на оптимизации. Все новые API были тщательно созданы для достижения оптимальной производительности при их использовании либо путем сокращения выделения памяти, микрооптимизации на уровне сборки, либо путем структурирования API таким образом, чтобы упростить написание ориентированного на производительность кода в целом.

Этот пакет использует такие API, как:

Если вы уже знакомы с этими API или даже если вы только начинаете писать код высокой производительности в C# и хотите, чтобы набор хорошо проверенных вспомогательных средств, используемых в собственных проектах, ознакомьтесь с тем, что входит в этот пакет, чтобы узнать, как вы можете использовать его в собственных проектах!

С чего начать?

Ниже приведены некоторые API, которые можно сначала посмотреть, если вы уже использовали один из этих типов, упомянутых ранее:

  • Span2D<T> и Memory2D<T>, для абстракции, похожей на Span<T> и Memory<T> для работы с 2D-памятью
  • MemoryOwner<T> и SpanOwner<T>, если вы использовали System.Buffers.ArrayPool<T>.
  • StringPool, для типа, подобного ArrayPool<T>, для кэширования экземпляров string
  • ParallelHelper, если вы использовали System.Threading.Tasks.Parallel.

Дополнительные ресурсы

Дополнительные примеры можно найти в модульных тестах.