Einzelnen Beitrag anzeigen

einbeliebigername

Registriert seit: 24. Aug 2004
140 Beiträge
 
Delphi XE8 Professional
 
#56

AW: Dictionary statt binärer Suche?

  Alt 16. Dez 2015, 17:19
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 performanter, wenn man einen vernünftigen Hash-Algorithmus anbietet.

Mein Fazit:
  1. Ich erstelle immer einen vernünftigen Hash-Algorithmus
  2. Sollte das TDictionary zu langsam sein, dann schaue ich mir den Hash-Algorithmus nochmal an
  3. Sollte das TDictionary zu langsam sein, dann schaue ich mir den Hash-Algorithmus nochmal an
  4. Sollte das TDictionary zu langsam sein, dann schaue ich mir den Hash-Algorithmus nochmal an
  5. Sollte das TDictionary zu langsam sein, dann schaue ich mir den Hash-Algorithmus nochmal an
  6. 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.
  Mit Zitat antworten Zitat