Thema: Delphi Threads hier sinnvoll?

Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#12
  Alt 18. Okt 2002, 18:12
Der Geschwindigkeitsgewinn ist bei wenigen Durchläufen minimal. Bei meinem Test '10+20*10-x^2*234,5+(10+20)*30' mit 10000 Durchläufen waren es ca. 50 ms Gewinn;

Ändere mal meine pos0Ex Funktion in folgende um. Danach hatte ich einen Gewinn zu deiner Version von ca. 200 ms.
Code:
[b]function[/b] pos0Ex([b]const[/b] c: Char; [b]const[/b] s: [b]string[/b]; out ResultValue: Integer): Integer;
[i]//pos0Ex findet das Zeichen "+","-" ... nicht innerhalb von Klammern[/i]
[b]var[/b] k, z: Integer; [i]//z:=Anzahl der Klammern[/i]
[b]begin[/b]
  z := 0;
  [b]for[/b] k := 1 [b]to[/b] Length(s) [b]do[/b] [b]begin[/b]
    [b]case[/b] s[k] [b]of[/b]
      '(': Inc(z);
      ')': Dec(z);
      [b]else[/b]
        [b]if[/b] (z = 0) [b]and[/b] (s[k] = c) [b]then[/b] [b]begin[/b]
          Result := k; [i]//Treffer[/i]
          ResultValue := k;
          Exit;
        [b]end[/b];
    [b]end[/b];
  [b]end[/b];
  ResultValue := 0;
  Result := 0;
[b]end[/b];
  Mit Zitat antworten Zitat