Sub Globals
Dim i,k,m,n As Int
Dim start , Endt, diff As Int
Type brint (val As Int)
Dim a(1000) As Int
Dim b(1000) As brint
For i=0 To 999
a(i)=Rnd(0,10): b(i).val=Rnd(0,10)
Next
Log(">>>>>INIT TEST")
start=DateTime.Now
For n=1 To 100 : For k=1 To 100
m=Rnd(0,999)
S2(a(m),k,m) ' call passing an int
Next : Next
diff=DateTime.Now-start
Log("by value " &diff)
start=DateTime.Now
For n=1 To 100 : For k=1 To 100
m=Rnd(0,999)
S3(b(m),k,m) ' call passing an object
Next: Next
diff=DateTime.Now-start
Log("by ref " &diff)
Log(">>>>>END TEST")
End Sub
Sub S2(x,kf,mf As Int )
x=x*kf/2 ' direct use of x
End Sub
Sub S3(x As brint, kf,mf As Int )
x.val=x.val*kf/2 'indirect use of the value through the Object
End Sub