Einzelnen Beitrag anzeigen

amigage

Registriert seit: 11. Nov 2005
Ort: Leipzig
270 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Zeitoptimierung bei Stringzusammensetzung

  Alt 12. Nov 2005, 08:28
Natürlich darf die Allgemeinheit das erfahren

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i, j : integer;
  st, sx: String;
  c, n1, n2 : TLargeInteger;
begin
QueryPerformanceFrequency(c);
QueryPerformanceCounter(n1);
 st := 'AB';
 sx := '';
 st2 := '';
 SetLength(st2, 3000000); // neu
 for i := 1 to 3000000 do
 begin
   if st[1] in ['0'..'9', 'A'..'F'] then
   begin
     sx := Char(StrToInt('$' + st[1] + st[2])); // neu
     move(sx[1], st2[i], Length(sx)+1); // neu
   end;
 end;
 SetLength(st2, Length(PChar(st2))); // etwaige NULL Strings abschneiden

QueryPerformanceCounter(n2);
Showmessage(format('Zeit: %g', [(n2 - n1)/c]));
Showmessage(IntToStr(Length(st2)));
  Mit Zitat antworten Zitat