[riscosfr] Re: Basic VFP
- From: David Feugey <dfeugey@xxxxxxxxx>
- To: riscosfr@xxxxxxxxxxxxx
- Date: Mon, 20 Mar 2017 19:26:34 +0100
In message <bb76e31f56.jmb@xxxxxxxxxxxxxxxxxxx>
Jean-Michel <jmc.bruck@xxxxxxxxx> wrote:
Hello.
Depuis peu, une version de BBC Basic capable d'exploiter la FPU des Pi
est accessible. En voici un test rapide avec un petit bench maison.
Basic VFP : 25,7s
Basic VFP crunched : 16,5s
C'est plus rapide que Basic VI :
Basic VI : 98s
Basic VI crunched : 87,9s
Mais aussi que Basic V :
Basic V : 30,5s
Basic V crunched : 20,4s
Et même qu'ABC :
ABC : 33s
ABC quick : 32,3s
BBC Basic for Windows 6.02a, sur un Core i7 2,2-3,2GHz, fait mieux.
Mais pas énormément :
interprété : 20,6s
exe all opt : 13,3s
exe all opt + rem!fast : 10,1s
Bref, c'est très intéressant tout cela.
Vivement un support VFP plus complet dans RISC OS et ses applications.
Pour comparer, c'est quoi ton test maison?
On peut avoir la copie ??
Merci
Jean-Michel
t=TIME
accum = 0
count = 0
WHILE count < 30 : REM 1545
leftedge = -420
rightedge = 300
topedge = 300
bottomedge = -300
xstep = 7
ystep = 15
maxiter = 200
y0 = topedge
WHILE y0 > bottomedge
x0 = leftedge
WHILE x0 < rightedge
y = 0
x = 0
thechar = 32
xx = 0
yy = 0
i = 0
WHILE i < maxiter AND xx + yy <= 800
xx = INT((x * x) / 200)
yy = INT((y * y) / 200)
IF xx + yy > 800 THEN
thechar = 48 + i
IF i > 9 THEN
thechar = 64
ENDIF
ELSE
temp = xx - yy + x0
IF (x < 0 AND y > 0) OR (x > 0 AND y < 0) THEN
y = INT(-1 * (-1 * x * y) / 100) + y0
ELSE
y = INT(x * y / 100) + y0
ENDIF
x = temp
ENDIF
i = i + 1
ENDWHILE
x0 = x0 + xstep
accum = accum + thechar
ENDWHILE
y0 = y0 - ystep
ENDWHILE
IF count MOD 300 = 0 THEN
PRINT accum,
ENDIF
count = count + 1
ENDWHILE
PRINT accum
PRINT (TIME-t)/100
--
RISC OS FR - www.riscos.fr
Informations sur RISC OS et sa communauté
Licences ABC et Raspberry Pi gratuits !
Other related posts: