![]() |
Re: array of string und die Performance-Schraube
Stimmt. Dann bin ich ratlos....
Aber HINTEN anhängen ist wirklich schneller, VORNE einfügen hingegen ist ca. 300x langsamer als Thornberry's Methode. |
Re: array of string und die Performance-Schraube
wenn string addition schneller ist hängt es bei dir wo anders. Dann hast du vermutlich funktionen die Strings zurück geben oder andere Dinge die dynamsich speicher alocieren.
@alzaimar: Du hast meinen Ansatz richtig interprietiert aber ich würde nicht mehrfach Lenght aufrufen sondern eine zwischenvariable verwenden. Die Prüfung ob stemp etwas beinhaltet ist auch nicht notwendig (außer wenn jemand die Bereitchsprüfung eingeschalten hat um sein Programm zu verlangsamen) da move ja nichts macht wenn die übergebene länge = 0 ist. |
Re: array of string und die Performance-Schraube
Hi Thornberry, natürlich müsste man Length wegkürzen, aber.... Ach, ich mach einfach einen separaten Thread auf.
Delphi-Quellcode:
ist nämlich wirklich ca. 30% schneller als:
x:='';
For i:=0 to sList.Count-1 do x := x+sList[i];
Delphi-Quellcode:
Und das verstehe ich nicht... Und deshalb:
n:=0;
for i:=0 to sList.Count-1 do Inc (n, Length (sList[i]); j:=1; SetLength (x, n); For i:=0 To sList.Count - 1 do Begin sTmp := sList[i]; l := Length (sTmp); Move (sTmp[1], x[j], l); inc (j,l); End; ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz