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

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

  • .NET Standard 2.0
  • .NET Standard 2.1
  • .NET 6
  • .NET 7

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

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

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

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

    NuGet Packages

  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.

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

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