Share via


ハイ パフォーマンス パッケージの概要

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 を利用できるものとお考ください。 マルチターゲットが使用されている理由は、パッケージが可能な限り最新のランタイム (.NET 7 など) 上のすべての最新 API を利用できるようにするためであり、同時にその機能の大部分をすべてのターゲット プラットフォームに提供するためです。

作業の開始

Visual Studio 内でパッケージをインストールするには:

  1. ソリューション エクスプローラーでプロジェクトを右クリックし、[NuGet パッケージの管理] を選択します。 CommunityToolkit.HighPerformance を検索してインストールします。

    NuGet Packages

  2. 新しい API を使用するために、using または Imports ディレクティブを追加します。

    using CommunityToolkit.HighPerformance;
    
    Imports CommunityToolkit.HighPerformance
    
  3. コード サンプルは、MVVM Toolkit の他のドキュメント ページ、およびプロジェクトの単体テストで入手できます。

このパッケージを使用するタイミング

名前が示すように、ハイ パフォーマンス パッケージには、最適化に重点を置いた一連の API が含まれています。 すべての新しい API は、メモリ割り当ての削減、アセンブリ レベルでのマイクロ最適化、または一般的なパフォーマンス指向コードの記述を容易にする方法で API を構成することによって、それらを使用するときに可能な限り最高のパフォーマンスを実現するように慎重に作成されています。

このパッケージでは、次のような API を多用しています。

これらの API に既に慣れている場合や、C# でハイ パフォーマンス コードの記述を始めたばかりで、テスト済みの一連のヘルパーを自身のプロジェクトで使用する場合でも、このパッケージに含まれている内容を確認して、自身のプロジェクトで使用する方法を確認してください。

どこから開始する?

上記のいずれかの種類の API を既に使用している場合は、最初に確認できる API をいくつか次に示します。

  • Span2D<T>Memory2D<T> は、2D メモリ上の Span<T>Memory<T> のような抽象化のためのものです。
  • MemoryOwner<T>SpanOwner<T> は、System.Buffers.ArrayPool<T> を使用していた場合。
  • string インスタンスをキャッシュする ArrayPool<T> のような型の StringPool
  • ParallelHelper は、System.Threading.Tasks.Parallel を使用していた場合。

その他のリソース

単体テスト」では、さらに他の例を見つけることができます。