Einzelnen Beitrag anzeigen

Benutzerbild von KingIR
KingIR

Registriert seit: 19. Feb 2006
81 Beiträge
 
Delphi 2006 Professional
 
#5

Re: length(s) = 0 ODER s = '' ?

  Alt 11. Mär 2006, 13:12
Folgender kleiner Test:
Delphi-Quellcode:
var
  str1, str2: String;
  StartTime: array[0..1] of Cardinal;
  EndTime: array[0..1] of Cardinal;
  i: integer;
begin
  str1 := '';
  str2 := 'Hallo, das ist ein kleiner, wenngleich doch etwas längerer Test-String.';

  StartTime[0] := GetTickCount();
  for i := 1 to 1000000000 do
  begin
    if str1 = 'then
      ;
    if str2 = 'then
      ;
  end;
  EndTime[0] := GetTickCount();

  StartTime[1] := GetTickCount();
  for i := 1 to 1000000000 do
  begin
    if Length(str1) = 0 then
      ;
    if Length(str2) = 0 then
      ;
  end;
  EndTime[1] := GetTickCount();

  ShowMessage('Vergleich mit leerem String: ' + FloatToStr((EndTime[0] - StartTime[0]) / 1000) + ' Sekunden,'#13#10 +
    'Vergleich über Length(): ' + FloatToStr((EndTime[1] - StartTime[1]) / 1000) + ' Sekunden');
Ergebnis (ohne Gewähr):
Vergleich mit leerem String: etwa 1,5 bis 1,8 Sekunden
Vergleich über Length(): etwa 4 bis 4,3 Sekunden

  Mit Zitat antworten Zitat