Es ist klar, dass eine Suchleistung des generischen HashSet<T>
Klasse höher ist als die der generischen List<T>
Klasse. Vergleichen Sie einfach den hashbasierten Schlüssel mit dem linearen Ansatz in der List<T>
Klasse.
Die Berechnung eines Hash-Schlüssels kann jedoch selbst einige CPU-Zyklen in Anspruch nehmen, so dass die lineare Suche bei einer geringen Anzahl von Elementen eine echte Alternative zur HashSet<T>
.
Meine Frage: Wo liegt der Break-even?
Zur Vereinfachung des Szenarios (und um fair zu sein) nehmen wir an, dass die List<T>
Klasse verwendet das Element Equals()
Methode, um einen Artikel zu identifizieren.