Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#22

AW: Dictionary statt binärer Suche?

  Alt 15. Dez 2015, 01:42
Delphi-Quellcode:
var
  lDict: TObjectDictionary<TObject, integer>;
  lSw : TStopwatch;
begin
  lDict := TObjectDictionary<TObject, integer>.Create( [ doOwnsKeys ] );
  try
    lSw := TStopwatch.StartNew;
    while lDict.Count < 1000000 do
      begin
        lDict.Add( TObject.Create, 0 );
      end;
    lSw.Stop;
  finally
    lDict.Free;
  end;

  ShowMessage( lSw.ElapsedMilliseconds.ToString( ) );
end;
dauert 179ms.

Die Langsamkeit ist somit hausgemacht und wird wohl an einer schlechten Hash-Funktion (langsam bzw. zu viele Kollisionen) liegen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat