Freigeben über


DA0010: Speicherintensive GetHashCode-Funktionen

Regel-ID

DA0010

Kategorie

.NET Framework-Verwendung

Profilerstellungsmethoden

Sampling

.NET-Arbeitsspeicher

Nachricht

GetHashCode-Funktionen sollten effizient sein und keinen Speicher belegen. Reduzieren Sie die Komplexität der Hashcodefunktion nach Möglichkeit.

Meldungstyp

Warnung

Ursache

Aufrufe der GetHashCode-Methode des Typs machen einen großen Teil der Profilerstellungsdaten aus, oder von der Methode wird Arbeitsspeicher belegt.

Regelbeschreibung

Hashverfahren ist eine Technik zum schnellen Suchen eines bestimmten Elements in einer großen Auflistung. Da Hashtabellen sehr groß sein können und sehr hohe Zugriffsraten unterstützen müssen, sollten Hashtabellen äußerst effizient sein. Eine Folge dieser Anforderung ist, dass GetHashCode-Methoden in .NET Framework keinen Speicher belegen sollten. Das Zuordnen von Arbeitsspeicher erhöht die Last für den Garbage Collector und macht die Methode verfügbar für potenzielle Verzögerungen, wenn es notwendig wird, eine Garbage Collection als Ergebnis der Zuordnungsanforderung auszuführen.

Behandeln von Verstößen

Verringern Sie die Komplexität der Methode.