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.