Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#14

AW: PosEx? Oder doch lieber Pos? - Performance!

  Alt 23. Aug 2016, 10:43
Ich habe Günthers Code mit kleinen Abweichungen (TStopwatch ist unbekannt)
durch D2006 und D7 gejagt


D2006 pos: 0,024 posex:0,024 s

D7 pos:0,152 posex 0,147 s

und hier der code:
Delphi-Quellcode:
program Project2;

{$APPTYPE CONSOLE}

{$R *.res}

uses SysUtils
 ,strutils
 ;

const
  s1 = 'Hallo Welt';
  s2 = 'lo';

  count = 2E6;

//{$Define Posex}

var
    times: Integer;
    result: Integer;
    sz,ez : tdatetime;
begin
    times := 0;
    sz:=now;
    repeat
       {$If Defined(Posex)}
          result := PosEx(s2, s1);
       {$Else}
          result := System.Pos(s2, s1);
       {$IFEnd}
       Inc(times);
    until (times = count);
    ez:=now;

    Writeln(formatdatetime('HH:MM:SS,zz', ez-sz) );
    readln;
end.
Packt man noch 40 Leerzeichen an den Anfang von S1, dann ist das Verhältnis 0,201/0,198.
Es scheint wohl wieder zu gelten: "wer misst, misst Mist"


Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector

Geändert von p80286 (23. Aug 2016 um 10:48 Uhr)
  Mit Zitat antworten Zitat