Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Strings schnell kopieren? (https://www.delphipraxis.net/31224-strings-schnell-kopieren.html)

alcaeus 6. Okt 2004 10:04


Strings schnell kopieren?
 
Hi allerseits,

in einer relativ zeitaufwändigen Routine (die ich optimieren will/muss :roll:) kopiere ich x Zeichen aus einem langen String:
Delphi-Quellcode:
Packet := Copy(InputText, i, PacketLength);
Allerdings funktioniert das nicht so schnell. Gibt es eine Möglichkeit, Strings schneller zu kopieren? Ich hab hier schon öfter was mit Pointern gesehen, finde es aber nicht mehr und kann mich auch nicht dran erinnern.

Thanx and Greetz
alcaeus

LoL 6. Okt 2004 10:20

Re: Strings schnell kopieren?
 
hi

ich weis den quellcode jetzt nicht auswendig aber du musst dir einen PChar Zeiger auf das Zeichen setzten mit dem du anfangen willst und dann den Zeiger immer um die Größe eines Char verschieben

toms 6. Okt 2004 10:28

Re: Strings schnell kopieren?
 
Hi,

Du könntest es auch mal mit der FastStrings Unit probieren.

alcaeus 6. Okt 2004 10:43

Re: Strings schnell kopieren?
 
Hi Toms,

mit der Unit geht das ganze schon fast 11% schneller, danke! :thumb:

Greetz
alcaeus

bigg 6. Okt 2004 12:30

Re: Strings schnell kopieren?
 
Liste der Anhänge anzeigen (Anzahl: 1)
für alle die es intressiert hier mal ein Benchmark für die Kopierfunktion von Strings.

dizzy 6. Okt 2004 12:36

Re: Strings schnell kopieren?
 
Da ist bei mir die Unit um fast den Faktor 2 schneller als die Delphi-Strings. Kross...

bigg 6. Okt 2004 12:37

Re: Strings schnell kopieren?
 
ja bei mir auch!

alcaeus 6. Okt 2004 12:37

Re: Strings schnell kopieren?
 
Zitat:

Zitat von dizzy
Da ist bei mir die Unit um fast den Faktor 2 schneller als die Delphi-Strings. Kross...

Nicht schlecht. Bei mir warens wahrscheinlich nur 11%, da ich noch einige andere Aktionen durchführen muss. Aber dass die Unit schneller ist, ist sicher.

Greetz
alcaeus

toms 6. Okt 2004 12:39

Re: Strings schnell kopieren?
 
Zitat von der droopyeyes Seite:
Zitat:

There is no PosWithIndex in Delphi, so we were using Pos(Copy()). Using FastStrings to parse our XML data we were able to cut our processing time down from 5 hours to only 15 seconds.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 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-2025 by Thomas Breitkreuz