Um ehrlich zu sein komme ich zu 99% nicht über Punkt 1 hinaus.
Zu Punkt 3 komme ich eher nur in 0,01% aller Fälle.
Ob die
TDictionary
-Implementierung gut oder schlecht ist, ist mir so lange egal, wie die Performance ausreichend ist und das Dingen tut was es soll.
- Make it work
- Make it right
- Make it fast (if you need it faster)
Und bislang war es halt schnell genug.
Ich bin aber offen für Alternativen ... dann pusten wir die gleichen Daten da mal rein und messen die Zeiten.
@stahli
Du kannst doch einfach eine Integer-ID zurückgeben (wenn diese ID die Entität eindeutig identifiziert). Du musst doch nur einen Hash zusammenrechnen, wenn du einen zusammengesetzte ID hast.
Und es gibt auch schon eine eingebaute Hash-Funktion
BonJenkinsHash
, der man einfach einen Pointer und Size auf die Daten gibt und der bastelt sich dann den Hashwert.
Ich sehe hier einfach keine Schwierigkeit beim Erstellen des Hash-Werts.
Man kann auch mal nach
HashCodeBuilder suchen und sich dort das Konzept anschauen und in Delphi implementieren. Dann wird es eventuell einfacher.