delete

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
Frogger
Beiträge: 425
Registriert: 14.03.2006 19:27
Kontaktdaten:

Beitrag 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) :shock:

Ist das schon jemandem aufgefallen und wieso ist das so?

Ich mein logisch ist es ja nicht gerade :freak:
[PB4.20]
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Frogger hat geschrieben: Ich mein logisch ist es ja nicht gerade :freak:
Speedtest mit Debugger hat keinerlei Aussagekraft, glaubs einfach :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Ach und @AND:
http://www.purebasic-lounge.de/viewtopi ... 2144#42144
Hab ich gerade kurz getippt :mrgreen:
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Vielen Dank für eure Infos, besonders dir, remi_meier für deine hilfreichen Links, die versteh sogar ich :D



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...
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

NicTheQuick hat geschrieben:@edel:
Nicht schnell! :allright:

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
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag 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
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Antworten