이 문서에서는 길이가 0인 배열 할당에 대한 성능 인사이트를 설명합니다.
원인
.NET에서 길이가 0인 배열을 할당하면 불필요한 메모리 할당이 발생할 수 있습니다. 이러한 할당은 작지만 특히 고성능 또는 메모리 제한 애플리케이션에서 성능 문제가 누적되고 발생할 수 있습니다.
성능 인사이트 설명
길이가 0인 배열이 할당되면 필요하지 않은 메모리 할당이 발생합니다. 새 배열을 만드는 대신 Array.Empty<T>()
메서드에서 제공하는 정적으로 할당된 빈 배열 인스턴스를 사용하는 것이 더 효율적입니다. 이 메서드는 지정된 형식의 캐시된 빈 배열을 반환하여 새 할당의 오버헤드를 방지합니다.
경고를 조사하는 방법
조사 링크를 클릭하여 할당된 길이가 0인 배열을 보여 주는 할당 보기로 이동합니다. 할당을 두 번 클릭하면 할당이 발생하는 코드 경로가 표시됩니다.
Array.Empty<T>()
제공된 정적으로 할당된 빈 배열 인스턴스를 사용하여 이러한 할당을 줄이는 것이 좋습니다.
다음은 빈 배열 할당 및 해결 방법의 예입니다.
위반:
class Example
{
public void Method()
{
var array = new int[0];
}
}
해상도:
class Example
{
public void Method()
{
var array = Array.Empty<int>();
}
}
추가 리소스
길이가 0인 배열 할당 및 기타 성능 모범 사례를 방지하는 방법에 대한 자세한 내용은 다음 리소스를 참조하세요.
이러한 지침에 따라 애플리케이션이 성능에 최적화되고 불필요한 메모리 오버헤드를 방지할 수 있습니다.