ich hab hier mal wieder einen Geschwindigkeitstest:
Code: Alles auswählen
EnableExplicit
DisableDebugger
#Rounds = 1000000
Define i, j, a.a, u.u, l.l, q.q
Define t1, t2, t3, t4, t5
t1 = ElapsedMilliseconds()
For j = 1 To #Rounds
For i = 0 To 120
a = i
a + 1
a * 2
a - 2
a / 2
Next i
Next j
t2 = ElapsedMilliseconds()
For j = 1 To #Rounds
For i = 0 To 120
u = i
u + 1
u * 2
u - 2
u / 2
Next i
Next j
t3 = ElapsedMilliseconds()
For j = 1 To #Rounds
For i = 0 To 120
l = i
l + 1
l * 2
l - 2
l / 2
Next i
Next j
t4 = ElapsedMilliseconds()
For j = 1 To #Rounds
For i = 0 To 120
q = i
q + 1
q * 2
q - 2
q / 2
Next i
Next j
t5 = ElapsedMilliseconds()
MessageRequester("Var-Test", "Byte......: " + Str(t2 - t1) + Chr(10) +
"Word......: " + Str(t3 - t2) + Chr(10) +
"Long (i32): " + Str(t4 - t3) + Chr(10) +
"Quad (i64): " + Str(t5 - t4))
Beide wurden auf einem Win7/64Bit getestet.
Bei 32Bit:
Byte: 611
Word: 594
Long: 521
Quad 2706
bei 64Bit:
Byte: 1556
Word: 1523
Long: 1530
Quad: 1324
Ich wusste ja, das der Int die schnellste Variable ist, aber ist 32Bit da wirklich so viel schneller? Fast das Doppelte ... bis auf Quad natürlich
Wenn man nicht viele Quads braucht sollte man dann nicht doch besser 32Bit benutzen? Selbst der Quad ist ja bei 64Bit langsamer als ein Byte bei 32Bit.