고성능 패키지 소개
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 내에서 패키지를 설치하려면 다음을 수행합니다.
솔루션 탐색기 프로젝트를 마우스 오른쪽 단추로 클릭하고 NuGet 패키지 관리를 선택합니다. CommunityToolkit.HighPerformance를 검색하여 설치합니다.
using 또는 Imports 지시문을 추가하여 새 API를 사용합니다.
using CommunityToolkit.HighPerformance;
Imports CommunityToolkit.HighPerformance
코드 샘플은 MVVM 도구 키트의 다른 문서 페이지와 프로젝트에 대한 단위 테스트에서 사용할 수 있습니다 .
이 패키지는 언제 사용해야 하나요?
이름에서 알 수 있듯이 고성능 패키지에는 최적화에 중점을 두는 API 집합이 포함되어 있습니다. 모든 새 API는 메모리 할당 감소, 어셈블리 수준의 마이크로 최적화 또는 일반적으로 성능 지향 코드 작성을 용이하게 하는 방식으로 API를 구조화하여 사용 시 최상의 성능을 달성하기 위해 신중하게 제작되었습니다.
이 패키지는 다음과 같은 API를 많이 사용합니다.
System.Span<T>
System.Memory<T>
System.Buffers.ArrayPool<T>
System.Runtime.CompilerServices.Unsafe
System.Runtime.InteropServices.MemoryMarshal
System.Threading.Tasks.Parallel
이러한 API에 이미 익숙하거나 C#에서 고성능 코드 작성을 시작하고 잘 테스트된 도우미 집합을 자신의 프로젝트에서 사용하려는 경우에도 이 패키지에 포함된 내용을 살펴보고 사용자 고유의 프로젝트에서 사용할 수 있는 방법을 알아보세요.
어디서 시작하나요?
위에서 멘션 이러한 유형 중 하나를 이미 사용하고 있는 경우 먼저 살펴볼 수 있는 몇 가지 API는 다음과 같습니다.
Span2D<T>
및Memory2D<T>
, 2D 메모리에Span<T>
대한 추상화 및Memory<T>
유사MemoryOwner<T>
및SpanOwner<T>
, 사용System.Buffers.ArrayPool<T>
중이면 .StringPool
- 인스턴스를ArrayPool<T>
캐시string
하는 것과 유사한 형식의 경우ParallelHelper
, 사용System.Threading.Tasks.Parallel
중이면 .
추가 리소스
단위 테스트에서 더 많은 예제를 찾을 수 있습니다.
.NET Community Toolkit