Freigeben über


Ineffizientes LinkedList-Traversal

In diesem Artikel werden Leistungseinblicke beim Durchlaufen von LinkedList<T> Sammlungen beschrieben.

Ursache

Das Durchlaufen eines LinkedList<T> Elements zum Auffinden von Elementen führt zu einer langsamen Leistung.

Beschreibung der Leistungserblicke

LinkedList<T> bietet keinen O(1)-Zugriff auf Elemente nach Index. Jedes Durchlaufen der Liste, insbesondere in Schleifen oder geschachtelten Schleifen, führt zu einer Komplexität der O(n)-Zeit. Dies kann zu einer erheblichen Leistungsbeeinträchtigung führen, wenn Sie häufig oder in großen verknüpften Listen nach Elementen suchen.

Wenn möglich, erwägen Sie die Verwendung List<T> oder Dictionary<TKey,TValue>. List<T> bietet O(1) Zugriff nach Index und Dictionary<TKey, TValue> stellt O(1)-Nachschlagevorgänge nach Schlüssel bereit. Diese Alternativen sind häufig effizienter für die meisten Zugriffsmuster im Vergleich zum Durchlaufen einer verknüpften Liste.

So untersuchen Sie eine Warnung

Klicken Sie im Tool "CPU-Auslastung" auf " Quellcode anzeigen ", um zu ermitteln, wo LinkedList<T> Traversal verwendet wird. Umgestalten Sie nach Möglichkeit einen anderen Sammlungstyp, der einen schnelleren Zugriff auf Ihr Szenario ermöglicht.

Siehe auch

Sammlungen und Datenstrukturen