Unter x64_OS sollte man nicht IMMER Integer verwenden
Verfasst: 20.02.2016 14:27
Integer-Variablen unter einem 64Bit-OS immer zu bevorzugen ist nicht empfehlenswert, weil manchmal der Zeitgewinn zu gering ist, aber der Speicherverbrauch verdoppelt wird.
Code: Alles auswählen
CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
CompilerError "Test-Code macht nur unter x64 Sinn!"
CompilerEndIf
CompilerIf #PB_Compiler_Debugger
CompilerError "Debugger ausschalten!"
CompilerEndIf
; !!!!!!!!! Purifier ebenfalls ausschalten !!!!!!!!!
#Elements = 8000000
Dim LongArray.l(#Elements-1)
Dim IntegerArray.i(#Elements-1)
time = ElapsedMilliseconds()
For i = 0 To #Elements-1
LongArray(i) = 1
Next
result1 = ElapsedMilliseconds() - time
time = ElapsedMilliseconds()
For i = 0 To #Elements-1
IntegerArray(i) = 1
Next
result2 = ElapsedMilliseconds() - time
MessageRequester("", "LongArray: " + #CRLF$ +
">> Zeit: "+Str(result1)+" ms" + #CRLF$ +
">> Speicher: "+Str(SizeOf(LONG)*#Elements)+" Bytes" + #CRLF$ +
"IntegerArray: " + #CRLF$ +
">> Zeit: "+Str(result2)+" ms" + #CRLF$ +
">> Speicher: "+Str(SizeOf(INTEGER)*#Elements)+" Bytes")
LongArray:
>> Zeit: 29 ms
>> Speicher: 32000000 Bytes
IntegerArray:
>> Zeit: 31 ms
>> Speicher: 64000000 Bytes