Code: Select all
EnableExplicit
DisableDebugger
Global.q gigs = 4*1024*1024*1024,mytime1,mytime
Procedure Netmestro(mysize)
Protected *MemoryID,*writeptr,*end
Protected.i chunksize
*MemoryID = AllocateMemory(gigs)
If *MemoryID > 0
FillMemory(*MemoryID,gigs,255,#PB_Byte)
If CreateFile(0,GetCurrentDirectory()+"test.tmp")
;FileBuffersSize(0,mysize)
*writeptr=*MemoryID
*end = *MemoryID + gigs
While *writeptr < *end
If *end-*writeptr >= mysize
chunksize = mysize
Else
chunksize = *end-*writeptr
EndIf
WriteData(0, *writeptr, chunksize)
*writeptr + chunksize
Wend
;FlushFileBuffers(0)
CloseFile(0)
EndIf
EndIf
EndProcedure
mytime1=ElapsedMilliseconds()
Netmestro(67108864)
mytime=ElapsedMilliseconds()-mytime1
MessageRequester("mytime",Str(mytime))
; Chunck 512 = 4014 Elapsed time
; Chunck 1024 = 4627 Elapsed time
; Chunck 2048 = 5048 Elapsed time
; Chunck 4096 = 4238 Elapsed time
; Chunck 8192 = 2965 Elapsed time
; Chunck 16384 = 2287 Elapsed time
; Chunck 32768 = 1864 Elapsed time
; Chunck 65536 = 1596 Elapsed time
; Chunck 131072 = 1660 Elapsed time
; Chunck 262144 = 1570 Elapsed time
; Chunck 524288 = 1468 Elapsed time
; Chunck 1048576 = 1499 Elapsed time
; Chunck 2097152 = 1569 Elapsed time
; Chunck 4194304 = 1576 Elapsed time
; Chunck 8388608 = 1468 Elapsed time
; Chunck 16777216 = 1468 Elapsed time
; Chunck 33554432 = 2143 Elapsed time
; Chunck 67108864 = 2529 Elapsed time
Code: Select all
Repeat
mydimension=FileSize(GetCurrentDirectory()+"test.tmp")
Until mydimension = 4294967296