Hallo,
@Sir Rufo: Du hast mich überzeugt das wir in diesem Fall beide Recht haben.
Also halten wir mal fest:
Das von Emba implementierte TDictionary
ist sehr performant, wenn man einen vernünftigen Hash-Algorithmus anbietet.
Falsch! Richtig: Die Implementierung von Emba ist performant
er, wenn man einen vernünftigen Hash-Algorithmus anbietet.
Mein Fazit:
- Ich erstelle immer einen vernünftigen Hash-Algorithmus
- Sollte das TDictionary
zu langsam sein, dann schaue ich mir den Hash-Algorithmus nochmal an
- Sollte das TDictionary
zu langsam sein, dann schaue ich mir den Hash-Algorithmus nochmal an
- Sollte das TDictionary
zu langsam sein, dann schaue ich mir den Hash-Algorithmus nochmal an
- Sollte das TDictionary
zu langsam sein, dann schaue ich mir den Hash-Algorithmus nochmal an
- Sollte das TDictionary
zu langsam sein, dann suche ich nach einer Alternative, die messbar schneller ist als TDictionary
(Bis zum heutigen Tag bin ich immer nur bis zum Punkt 3. gekommen)
Wie oft bist du zu Punkt 3 gekommen? Wie viele andere Entwickler sind wie oft zu Punkt 3 gekommen? Währe es nicht besser wenn einmal jemand (Emba) Punkt 6 erledigt, und dann nur noch wenige ganz selten bis Punkt 3 müssen?
Denn den Hash-Algorithmus bei der Emba-Implementierung kannst du ja nicht im ganzen austauschen, da ein Teil fest in TDictionary eingebaut ist. Auch wird kein Programmierer von sich aus auf die Idee kommen für bis 32bit-Werte den Hash mittels einer Formel zu ermitteln. Da wird jeder einen Cast benutzen. Und dann schlägt der Feste Teil richtig böse zu.
einbeliebigername.