
du verwendest glaub ich zu viele schleifen...
es ist sicher besser mehr variablen zu machen als schleifen!
ich mach auch speedtest...
Andreas
Code: Alles auswählen
StrConv([String], VbStrConv.vbProperCase)
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Code: Alles auswählen
Procedure.s Capitalize(text.s)
Protected *pos.Character=@text
While *pos\c
While *pos\c < 'a' Or *pos\c > 'z'
*pos+SizeOf(Character)
Wend
*pos\c-32
While (*pos\c >= 'a' And *pos\c <= 'z') Or (*pos\c >= 'A' And *pos\c <= 'Z')
*pos+SizeOf(Character)
Wend
Wend
ProcedureReturn text
EndProcedure
Procedure.s irgendeinBefehl( str.s )
Protected *ptr.CHARACTER = @str, space = 1
While *ptr\c
If *ptr\c = 32
space = 1
Else
If space = 1
If (*ptr\c >= 97) And (*ptr\c <= 122)
*ptr\c - 32
space = 0
EndIf
EndIf
EndIf
*ptr + SizeOf(CHARACTER)
Wend
ProcedureReturn str
EndProcedure
startTime = ElapsedMilliseconds()
For i = 0 To 10000000
irgendeinBefehl("<Dies 'ist #ein +testtext, ~um 3zu 4zeigen &was (passierte")
Next
endTime = ElapsedMilliseconds()
time1 = endTime - startTime
startTime = ElapsedMilliseconds()
For i = 0 To 10000000
Capitalize("<Dies 'ist #ein +testtext, ~um 3zu 4zeigen &was (passierte")
Next
endTime = ElapsedMilliseconds()
time2 = endTime - startTime
MessageRequester("Andreas_S vs. And51","Andreas_S: " + Str(time1) + Chr(10) + "And51: " + Str(time2))
Code: Alles auswählen
chrSpace = SizeOf(CHARACTER)
zum Thema Geschwindigkeitstest (jeweils 10mal weniger Schleifen) :Andreas_S hat geschrieben:Ich: 11484ms
Du: 11125ms
Wenns aber nur "<Dies" ist:
Ich: 3500ms
Du: 3609ms
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Ja, irgendwas kann man sicher noch um eine Ecke schneller machen aber irgendwann ist schlussAND51 hat geschrieben:Jetzt gerade habe ich keine Zeit, aber ich gebe nicht auf... Irgendwie muss es doch gehen? Hm...
GenauAND51 hat geschrieben:> Mir ist geschwindigkeit auch wichtig
Ich seh schon, wir verstehen uns^^ Gefällt mir, deine Einstellung![]()