Seite 2 von 2
Verfasst: 12.01.2007 17:38
von Frogger
@edel
Bei deinem Speedtest ist deine Variante am schnellsten aber wenn man es mit Debugger asführt ist die von AND51 schneller (ca. 2x)
Ist das schon jemandem aufgefallen und wieso ist das so?
Ich mein logisch ist es ja nicht gerade

Verfasst: 12.01.2007 17:47
von ts-soft
Frogger hat geschrieben:
Ich mein logisch ist es ja nicht gerade

Speedtest mit Debugger hat keinerlei Aussagekraft, glaubs einfach

Verfasst: 12.01.2007 17:59
von remi_meier
Verfasst: 12.01.2007 20:40
von AND51
Vielen Dank für eure Infos, besonders dir, remi_meier für deine hilfreichen Links, die versteh sogar ich
Zur weiteren Diskussion werde ich jedoch einen neuen Thread eröffnen — sozusagen spalte ich damit die hiesigen "offtopic" Diskussion von vornherein ab (Lob, bitte!)
»»»»» Zur Diskussion über Unicode, Pointer, Offsets und SizeOf und den ganzen Kram...
Verfasst: 12.01.2007 21:17
von edel
NicTheQuick hat geschrieben:@edel:
Nicht schnell!
Ich hab noch zwei Alternativen, die allerdings langsamer sind als deine:
Code: Alles auswählen
edel : 62 ms
ts-soft : 1047 ms
AND51 : 141 ms
Sirhc : 2218 ms
NTQ 4 : 203 ms
NTQ 5 : 79 ms
remi : 125 ms
naja fast :P
Verfasst: 12.01.2007 21:34
von AND51
So, habe nun eine neue Procedure, "myTrim()" erstellt, die 9, 32 und 160 entfernt.
Dies ist die bisher
schnellste Prozedur:
@ edel: Deine Prozedur, "TrimEx0()", benötigt bei mir in Unicode als auch in ASCII 47 ms (habe deinen Speedtest genommen und mehrmals ausgeführt, ohne Debugger natürlich).
Meine Procedure, "myTrim()", benötigt nur 31 ms, ab und zu auch mal 32 ms.
Am kürzesten ist meine Procedure auch (8 Zeilen):
Code: Alles auswählen
Procedure.s myTrim(*buffer.Character)
Protected *ende.Character=*buffer+MemoryStringLength(*buffer)*SizeOf(Character)-SizeOf(Character)
While *buffer\c = 32 Or *buffer\c = 9 Or *buffer\c = 160
*buffer+SizeOf(Character)
Wend
While *ende\c = 32 Or *ende\c = 9 Or *ende\c = 160
*ende-SizeOf(Character)
Wend
ProcedureReturn PeekS(*buffer, (*ende-*buffer+SizeOf(Character))/SizeOf(Character))
EndProcedure