Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden Leistungserkenntnisse beim Ändern unveränderlicher Auflistungen wie z ImmutableList<T>. B. beschrieben.
Ursache
Das Ändern einer unveränderlichen Auflistung (z Add. B. , Removeoder Insert) führt zu einer langsamen Leistung.
Beschreibung der Leistungserblicke
Jede Änderung an einer unveränderlichen Auflistung erstellt eine neue Kopie der Auflistung, was zu übermäßigen Speicherzuweisungen und CPU-Auslastung führt. Dies ist besonders ineffizient, wenn Änderungen häufig, in Schleifen oder in leistungskritischen Codepfaden ausgeführt werden.
Verwenden Sie nach Möglichkeit eine änderbare Sammlung (z List<T>. B. ) während der Konstruktion oder in heißen Pfaden, und konvertieren Sie sie nur bei Bedarf in eine unveränderliche Sammlung. Veränderbare Sammlungen ermöglichen effiziente direkte Änderungen, während unveränderliche Auflistungen am besten für Threadsicherheit und Szenarien verwendet werden, in denen Änderungen selten sind.
So untersuchen Sie eine Warnung
Klicken Sie im Tool "CPU-Auslastung" auf " Quellcode anzeigen ", um zu ermitteln, wo unveränderliche Auflistungen geändert werden. Umgestalten Sie nach Möglichkeit eine veränderbare Sammlung in leistungsabhängigem Code, und konvertieren Sie sie nur bei Bedarf in eine unveränderliche Auflistung.