Re: [Flashforth-devel] FF50 (dspic33) Floating Point Beta working
Brought to you by:
oh2aun
From: pito <pi...@vo...> - 2014-07-13 15:21:39
|
A quick benchmark: I did some tests in past with amforth on atmega1284p @25MHz. So let us compare: FF: ======================================== : tst_f+ 30000 0 do _pi _ln2 f+ drop drop loop ; ok<#,ram> Fcy u. 46062 ok<#,ram> : b+ ticks tst_f+ ticks swap - s>f 1000 s>f f/ 30000 s>f f/ fs. ." sec per f+" ; ok<#,ram> b+ 5.21667E-5 sec per f+ ok<#,ram> Clock to clock: ========================================= amforth: @25MHz took 1060 usec ff: @46MHz took 52.2 usec == 96 usec @25MHz ff is ~11x faster in f+ than amforth c2c P. ______________________________________________________________ > Od: pito <pi...@vo...> > Komu: "flashforth-devel" <fla...@li...>, "flashforth-devel" <fla...@li...> > Datum: 13.07.2014 14:26 > Předmět: [Flashforth-devel] FF50 (dspic33) Floating Point Beta working > >This is with the Beta modified Leon's FP for FF50 (dspic33). Seems to be _much_ faster than on amforth. >Still som issues to fix. Input is done via double or single integer with conversions to float (see below). >Precision set to 6 digits (fp single precision only). >Will continue when Mike is back from holidays.. :) > >marker _tstflt_ ok<#,ram> > ok<#,ram> >314159265. d>f 100000000. d>f f/ fconstant _pi ok<#,ram> > ok<#,ram> >cr _pi fdup fdup f. fs. fe. >3.14159 3.14159E0 3.14159E0 ok<#,ram> > ok<#,ram> >-314159265. d>f 100000000. d>f f/ fconstant _-pi ok<#,ram> > ok<#,ram> >cr _-pi fdup fdup f. fs. fe. >-3.14159 -3.14159E0 -3.14159E0 ok<#,ram> > ok<#,ram> >1000000. d>f fconstant _1e6 ok<#,ram> > ok<#,ram> >cr _1e6 fdup fdup f. fs. fe. >1000000. 1.00000E6 1.00000E6 ok<#,ram> > ok<#,ram> >100 s>f fconstant _100 ok<#,ram> > ok<#,ram> >cr _100 fdup fdup f. fs. fe. >100.000 1.00000E2 100.000E0 ok<#,ram> > ok<#,ram> >\ : prntpi _1e6 _100 f* f* f>d d. ; ok<#,ram> > ok<#,ram> >\ +pi f* f/ ok<#,ram> > ok<#,ram> >: test1 > _1e6 fdup fdup fdup fdup > f* f* f* f* > _pi > fswap > f/ > _1e6 fdup fdup fdup fdup > f* f* f* f* f* > > fdup fdup f. fs. fe. ( the result shall be 3.14159265 ) >; ok<#,ram> > ok<#,ram> >: test2 > _pi _1e6 f/ _1e6 f/ _1e6 f/ _1e6 f/ _1e6 f/ > _1e6 fdup fdup fdup fdup > f* f* f* f* f* > fdup fdup f. fs. fe. ( the result shall be 3.14159265 ) >; ok<#,ram> > ok<#,ram> >\ -pi f* f/ ok<#,ram> > ok<#,ram> >: test3 > _1e6 fdup fdup fdup fdup > f* f* f* f* > _-pi > fswap > f/ > _1e6 fdup fdup fdup fdup > f* f* f* f* f* > > fdup fdup f. fs. fe. ( the result shall be -3.14159265 ) >; ok<#,ram> > ok<#,ram> >: test4 > _-pi _1e6 f/ _1e6 f/ _1e6 f/ _1e6 f/ _1e6 f/ > _1e6 fdup fdup fdup fdup > f* f* f* f* f* > fdup fdup f. fs. fe. ( the result shall be -3.14159265 ) >; ok<#,ram> > ok<#,ram> >test1 3.14159 3.14159E0 3.14159E0 ok<#,ram> >test2 3.14159 3.14159E0 3.14159E0 ok<#,ram> >test3 -3.14159 -3.14159E0 -3.14159E0 ok<#,ram> >test4 -3.14159 -3.14159E0 -3.14159E0 ok<#,ram> > ok<#,ram> > ok<#,ram> >1000000. d>f 7 s>f f/ fdup fdup f. fs. fe. 142857. 1.42857E5 142.857E3 ok<#,ram> >-1000000. d>f 7 s>f f/ fdup fdup f. fs. fe. -142857. -1.42857E5 -142.857E3 ok<#,ram> >300000. d>f 555555. d>f f+ fdup fdup f. fs. fe. 855555. 8.55555E5 855.555E3 ok<#,ram> >-300000. d>f 555555. d>f f+ fdup fdup f. fs. fe. 255555. 2.55555E5 255.555E3 ok<#,ram> >-300000. d>f -555555. d>f f+ fdup fdup f. fs. fe. -855555. -8.55555E5 -855.555E3 ok<#,ram> >-300000. d>f -555555. d>f f- fdup fdup f. fs. fe. 255555. 2.55555E5 255.555E3 ok<#,ram> > >\ Earth's volume and mass >\ E. radius in m (Wiki: equatorial radius) >6378100. d>f fconstant earthradius ok<#,ram> >\ E. volume in m3 (Wiki: 1.08321×10^12 km3) >earthradius fdup fdup f* f* _pi f* 4 s>f f* 3 s>f f/ earthvolume f! earthvolume f@ fdup fdup cr f. fs. fe. >1086830000000000000000. 1.08683E21 1.08683E21 ok<#,ram> >\ E. density 5.515 g/cm3 (Wiki) >5515 s>f 1000 s>f f/ 100 s>f fdup fdup f* f* f* earthvolume f@ f* ok<#,ram> 61481 28058 >\ E. mass in g >fdup fs. 5.99388E27 ok<#,ram> 61481 28058 >\ E. mass in kg >1000 s>f f/ ok<#,ram> 43033 26782 >fs. 5.99388E24 ok<#,ram> >\ Earth mass in kg, Wiki: 5.97219×10^24 kg >5.99388E24 > >------------------------------------------------------------------------------ >_______________________________________________ >Flashforth-devel mailing list >Fla...@li... >https://lists.sourceforge.net/lists/listinfo/flashforth-devel > |