이 문서에서는 컬렉션을 트래버스할 LinkedList<T> 때 성능 인사이트를 설명합니다.
원인
요소를 찾기 위해 트래버스하면 LinkedList<T> 성능이 저하됩니다.
성능 인사이트 설명
LinkedList<T> 는 인덱스별로 요소에 대한 O(1) 액세스를 제공하지 않습니다. 특히 루프 또는 중첩된 루프에서 목록을 통과하는 각 순회는 O(n) 시간 복잡성을 초래합니다. 이로 인해 자주 또는 큰 연결된 목록에서 항목을 검색할 때 성능이 크게 저하될 수 있습니다.
가능하면 사용 List<T> 또는 Dictionary<TKey,TValue>.
List<T> 는 인덱 Dictionary<TKey, TValue> 스별로 O(1) 액세스를 제공하고 키별로 O(1) 조회를 제공합니다. 이러한 대안은 연결된 목록을 트래버스하는 것에 비해 대부분의 액세스 패턴에 더 효율적입니다.
경고를 조사하는 방법
CPU 사용량 도구에서 소스 코드 보기를 클릭하여 순회가 사용되는 위치를 LinkedList<T> 찾습니다. 가능하면 시나리오에 대한 더 빠른 액세스를 제공하는 다른 컬렉션 형식을 사용하도록 리팩터링합니다.