Zitat von
Sir Thornberry:
@Dani: Die Funktion ist um den Faktor 10 Schneller? Ich kann mir nicht vorstellen das So große unterschiede auftreten das deine Funktion gleich 10 mal schneller ist. Außerdem hast du bei dieser Variante das Casesensitive vergessen. Wenn ich bei mir als Parameter das Casesensitive auf False setze komme ich dann auch nur noch auf 78 ms
Hm, das könnte an meinem ungenauen Messverfahren liegen.
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var strBase, s, output: String;
Idx: Integer;
TimeStart, TimeEnd, TimeDiff: TDateTime;
begin
strBase := 'Hurra';
output := '';
TimeStart := now;
for Idx := 0 to 10000 do
begin
s := strBase + IntToStr(Idx);
output := AppendStringIfUnique(output, s, ';');
end;
TimeEnd := now;
TimeDiff := TimeEnd - TimeStart;
Label1.Caption := 'time: ' + FormatDateTime('ss:zzz', TimeDiff);
Memo1.Text := output;
end;
Pseudemys Nelsonis Code braucht auf meinem System (Athlon XP 2800+) dafür ca. 34 Sekunden, meiner 3.
Dani H.
At Least I Can Say I Tried