Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Threads hier sinnvoll? (https://www.delphipraxis.net/1097-threads-hier-sinnvoll.html)

theomega 18. Okt 2002 17:45

Sorry, aber auch deine Möglichkeit bringt keinen Zeitgewinn!

jbg 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];


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:28 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz