10 rem Ahl's simple benchmark 20 for n = 1 to 100: a = n 30 for i = 1 to 10 40 a = sqr(a): r = r + rnd(1) 50 next i 60 for i = 1 to 10 70 a = a^2: r = r + rnd(1) 80 next i 90 s = s + a: next n 100 print "Accuracy ";abs (1010-s/5) 110 print "Random ";abs (1000-r)
10 rem Ahl's simple benchmark 15 time$="00:00:00" 20 for n = 1 to 100: a = n 30 for i = 1 to 10 40 a = sqr(a): r = r + rnd(1) 50 next i 60 for i = 1 to 10 70 a = a^2: r = r + rnd(1) 80 next i 90 s = s + a: next n 100 print "Accuracy ";abs (1010-s/5) 110 print "Random ";abs (1000-r) 115 print "Time ";time$
10 REM Ahl's simple benchmark 11 GOSUB 1100 : REM Randomize 20 FOR n = 1 TO 100 : a = n 30 FOR i = 1 TO 10 40 a = SQRT(a) : GOSUB 1000 : r = r+rnd 50 NEXT i 60 FOR i = 1 TO 10 70 a = a^2 : GOSUB 1000 : r = r+rnd 80 NEXT i 90 s = s+a : NEXT n 100 PRINT "Accuracy ";ABS(1010-s/5) 110 PRINT "Random ";ABS(1000-r) 120 END 1000 seedh = (seed/65536) AND 65535 1010 seedl = seed AND 65535 1020 seedh = (seedh*17406+seedl*3+(seedl*17406+40643)/65536+38) AND 65535 1030 seedl = (seedl*17406+40643) AND 65535 1040 seed = seed+1 1050 rnd = (1*((seedl+seedh) AND 65535))/65535 1060 RETURN 1100 PRINT"seed? " 1110 INPUT seed 1120 RETURN
10 rem Ahl's simple benchmark 20 t1=time(1%)/10 30 while t1*10=time(1%) 40 next 41 t1=time(1%)/10.0 45 while (time(1%)/10-t1)<20 46 r=0 47 s=0 48 i1=i1+1 50 for n% = 1 to 100 : a = n% 70 for i% = 1 to 10 80 a = sqr(a) : r = r + rnd(1) 100 next i% 110 for i% = 1 to 10 120 a = a^2 : r = r + rnd(1) 140 next i% 150 s = s + a : next n% 165 next 166 print i1;" iterations." 167 t=time(1%)/10-t1 167 print t/i1;" seconds per iteration" 170 print abs (1010-s/5) 180 print abs (1000-r) 190 end
10 rem Ahl's simple benchmark 20 t1=time(0) 30 while t1=time(0) 40 next 41 t1=time(0) 45 while (time(0)-t1)<20 46 r=0 47 s=0 48 iter=iter+1 50 for n% = 1 to 100 60 a = n% 70 for i% = 1 to 10 80 a = sqr(a) 90 r = r + rnd 100 next i% 110 for i% = 1 to 10 120 a = a^2 130 r = r + rnd 140 next i% 150 s = s + a 160 next n% 165 next 166 print iter;" iterations." 167 print 1.0/iter*(time(0)-t1);" seconds per iteration" 170 print "Accuracy ";abs (1010-s/5) 180 print "Random ";abs (1000-r)
' Ahl's simple benchmark ' Hummingbird Basic Sub Main Dim n%,i%,a,r,s,Message$, T1, T2, iters% T1=Timer() iters=0 While ((Timer()-T1)<20) iters=iters+1 s=0 r=0 For n = 1 To 100 a = n For i = 1 To 10 a = Sqr(a) r = r + Rnd() Next i For i = 1 to 10 a = a^2 r = r + Rnd() Next i s = s + a Next n Wend T2=Timer() Message="Elapsed Time: " & Format(T2-T1) & Chr$(13) Message=Message & "Iterations: " & Format(iters) & Chr$(13) Message=Message & "Seconds per iteration: " & Format((T2-T1)/iters) & Chr$(13) Message=Message & "Accuracy: " & Format(Abs(1010-s/5)) & Chr$(13) Message=Message & "Random: " & Format(Abs(1000-r)) Msgbox Message, 0, "Ahl's Simple Benchmark" End Sub